Właściwość CSSModel pudełkowy

outline-offset

Odsuwa obwódkę od krawędzi elementu albo wsuwa ją do środka, nie zmieniając układu strony.

Wartość domyślna
0
Dziedziczona
Nie
Animowalna
tak, jako długość
Dotyczy
wszystkie elementy
JavaScript
element.style.outlineOffset = "4px"
Na tej stronie

Przykład

#
CSS
.swatch {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
}

.swatch.selected,
.swatch:focus-visible {
  outline: 2px solid #e5e5e5;
  outline-offset: 3px;
}
Podgląd

Wybrany kolor ma pierścień odsunięty o 3px, a szczelina pokazuje tło strony. Ten sam styl dostaje przycisk z fokusem klawiatury: kliknij w podgląd i naciśnij Tab.

Definicja i zastosowanie

#

Właściwość outline-offset ustala odległość między obwódką (outline) a zewnętrzną krawędzią obramowania elementu. Wartość dodatnia odsuwa obwódkę na zewnątrz, a ujemna wciąga ją do środka, tak że rysuje się nad tłem i treścią elementu.

Szczelina między elementem a obwódką jest przezroczysta, więc widać w niej tło rodzica. Tak powstaje efekt pierścienia z odstępem, który znasz z wyboru koloru w aplikacjach i z wyraźnych wskaźników fokusu.

Przesunięcie, tak jak sama obwódka, nie wpływa na układ: element nie rośnie, a sąsiedzi się nie przesuwają. Zobaczysz je jednak tylko wtedy, gdy obwódka ma styl inny niż none, na przykład po ustawieniu outline: 2px solid.

Skrót outline nie obejmuje przesunięcia. Ustawiasz je osobną deklaracją, a późniejsza zmiana samego outline go nie kasuje.

Składnia

#
Składnia
outline-offset: <długość>;

Wartości

#
  • 0

    Obwódka przylega do krawędzi elementu. To wartość domyślna.
  • 4px

    <długość>

    Między elementem a obwódką zostaje 4px przerwy, przez którą widać tło rodzica.
  • 12px

    <długość>

    Obwódka otacza element w większej odległości, a mimo to nie zajmuje miejsca w układzie.
  • -6px

    wartość ujemna

    Obwódka wchodzi do środka i rysuje się nad tłem elementu. Przydaje się, gdy rodzic z overflow: hidden ucinałby ją na zewnątrz.

Wartości w praktyce

#

0

Obwódka przylega do krawędzi elementu. To wartość domyślna.
.demo { outline-offset: 0; }

4px

Między elementem a obwódką zostaje 4px przerwy, przez którą widać tło rodzica.
.demo { outline-offset: 4px; }

12px

Obwódka otacza element w większej odległości, a mimo to nie zajmuje miejsca w układzie.
.demo { outline-offset: 12px; }

-6px

Obwódka wchodzi do środka i rysuje się nad tłem elementu. Przydaje się, gdy rodzic z overflow: hidden ucinałby ją na zewnątrz.
.demo { outline-offset: -6px; }

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Odstęp 2–3px sprawia, że pierścień fokusu nie zlewa się z kolorem przycisku, bo oddziela go pasek tła rodzica.
  • Jeśli obwódkę ucina rodzic z overflow: hidden, na przykład karuzela, podaj ujemne przesunięcie. Obwódka narysuje się wtedy wewnątrz elementu.
  • Skrót outline nie ustawia przesunięcia. Zapisz outline-offset osobno, najlepiej w tej samej regule co obwódkę.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.