outline-offset
Nemovitost v CSS offsety definované osnovy od hraničního okraje elementu tím určité částky. Obrys, který se liší od ohraničení, nezabírá na stránce žádné místo (jako absolutně umístěný prvek), takže obrys lze libovolně odsadit a nebude to mít vliv na polohu ani rozložení okolních prvků.
.example ( outline: solid 2px blue; outline-offset: 10px; )
Obrysy definované pomocí outline
vlastnosti se často používají jako zaostřovací kroužky pro usnadnění přístupu. To znamená, že outline-offset
vlastnost umožňuje měnit polohu zaostřovacího kroužku.
Hodnoty
outline-offset
přijímá jeden druh hodnoty, délku, která může být:
0
(výchozí)- Jakákoli jiná platná délka se zadanou jednotkou (včetně záporných hodnot)
Všimněte si, že outline-offset
podobně outline-width
nepřijímá procentní hodnoty.
Umístění obrysu
Ve výchozím nastavení je obrys prvku vykreslen bezprostředně mimo hranici (nebo bezprostředně mimo místo, kde by byla hranice nakreslena, pokud by byla hranice definována). Proto je technicky možné kombinovat obrys a ohraničení pro efekt dvou hranic:
Odtud outline-offset
lze použít ke změně polohy obrysu vzhledem k hraniční hraně. Vyzkoušejte ukázku níže, která vám umožňuje interaktivně měnit hodnotu posunutí obrysu pomocí posuvníku. Hodnota posunutí se zobrazí na stránce při posouvání posuvníku:
Jak bylo uvedeno výše, outline-offset
přijímá záporné hodnoty, které posunou obrys v opačném směru (směrem ke středu prvku), jak je znázorněno v dalším interaktivním ukázce. Všimněte si, že obrys začíná na -40px:
Pokud si výše uvedenou ukázku zobrazíte v prohlížeči Firefox, všimnete si, že obrys se zpočátku zdá být správný, ale když je posuvník upraven, obrys se nevykresluje hladce a končí ve špatné poloze. Posunutí prvku mimo zobrazení a poté zpět do zobrazení vynutí prohlížeč, aby překreslil obrys na správnou pozici. Zdá se, že jde o chybu pouze pro Firefox.
Není součástí outline
zkratky
Podobně jako v případě border
majetku, outline
nemovitost je zkratka, která znamená tři vlastnosti: outline-color
, outline-style
a outline-width
.
outline-offset
Majetek, proto není zastoupen v této nebo jiné zkratky majetku, takže je třeba vykazovat zvlášť z vymezené samotné osnovy.
Příbuzný
- obrys
- okraj
Více informací
- obrysový offset na W3C
Podpora prohlížeče
Tato data podpory prohlížeče pocházejí z Caniuse, který obsahuje více podrobností. Číslo označuje, že prohlížeč podporuje tuto funkci v dané verzi a vyšší.
plocha počítače
Chrome | Firefox | TJ | Okraj | Safari |
---|---|---|---|---|
4 | 2 | 11 | 15 | 3.1 |
Mobilní / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 2.1 | 3.2 |
Indikátor „částečného“ pro IE znamená, že IE nepodporuje outline-offset
, ale podporuje outline
zkratku a tři vlastnosti, které představuje.
Kromě chyby zmíněné výše v části „Pozice obrysu“ existuje ve Firefoxu chyba, kde je obrys vykreslen nesprávně, pokud má prvek podřízený prvek, který přetéká nadřazenou hranici (např. Pomocí negativních okrajů nebo absolutního umístění) . Proto bude outline-offset
hodnota relativní k rozšířené hranici vytvořené přetékajícím dítětem, spíše než původní hranice nadřazeného prvku. Chcete-li tomu lépe porozumět, podívejte se na tento CodePen, toto vlákno přetečení zásobníku a tuto zprávu o chybě (úvěr čtenáři Mattovi Vanesovi za odeslání této chyby).