Pseudoelement CSSPseudoelementy

::marker

Stylizuje znacznik elementu listy: kropkę w liście ul albo numer w liście ol.

Na tej stronie

Przykład

#
CSS
.steps li::marker {
  color: #a78bfa;
  font-weight: 700;
}
Podgląd

Definicja i zastosowanie

#

Każdy element z display: list-item, czyli domyślnie każdy <li>, ma znacznik: kropkę, kółko, kwadrat albo numer. Pseudoelement ::marker pozwala ostylować go osobno, bez sztuczek z ::before i wyłączaniem punktorów. Tekst punktu zostaje bez zmian.

Zestaw obsługiwanych właściwości jest ograniczony: kolor, właściwości czcionki, content, white-space oraz animacje i przejścia. Tło, marginesy czy obramowanie nie zadziałają. Położenie znacznika (wewnątrz lub na zewnątrz bloku tekstu) ustawia się przez list-style-position na samym elemencie listy.

Sam symbol najłatwiej zmienić właściwością list-style-type na liście, np. list-style-type: "✓ " albo upper-roman. ::marker przydaje się wtedy do koloru i wagi, żeby numery były fioletowe i pogrubione, a tekst zwykły.

Składnia

#
Składnia
selektor::marker { właściwość: wartość; }

Typowe style

#
  • color

    Fioletowe numery obok zwykłego tekstu punktów.
  • font-weight

    Pogrubione i większe numery. Tekst punktów się nie zmienia.
  • list-style-type + ::marker

    Symbol ustawiasz na liście przez list-style-type, a jego kolor przez ::marker.
  • li:hover::marker

    Najedź na punkt listy: zmienia się tylko kolor jego numeru.

Typowe style w praktyce

#

color

Fioletowe numery obok zwykłego tekstu punktów.
.demo li::marker { color: #a78bfa; }

font-weight

Pogrubione i większe numery. Tekst punktów się nie zmienia.
.demo li::marker {
  color: #fbbf24;
  font-weight: 800;
  font-size: 1.15em;
}

list-style-type + ::marker

Symbol ustawiasz na liście przez list-style-type, a jego kolor przez ::marker.
.demo { list-style-type: "✓ "; }
.demo li::marker { color: #10b981; }

li:hover::marker

Najedź na punkt listy: zmienia się tylko kolor jego numeru.
.demo li:hover::marker { color: #f43f5e; }

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

#
  • Do zmiany samego symbolu używaj list-style-type, a ::marker do koloru i czcionki. Taki podział jest najprostszy i najbardziej przewidywalny.
  • Jeśli usuniesz punktory przez list-style: none, VoiceOver w Safari może przestać ogłaszać element jako listę. Pomaga wtedy dodanie role="list" do <ul> lub <ol>.

Powiązane hasła

#

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