Selektor CSSSelektory

#id

Wybiera element o podanym identyfikatorze z atrybutu id. Ma bardzo wysoką specyficzność, więc jego reguły trudno potem nadpisać.

Na tej stronie

Przykład

#
CSS
#faq {
  padding: 12px;
  border-radius: 12px;
  transition: background-color 0.3s;
}

#faq:target {
  background: rgb(124 58 237 / 0.2);
  outline: 2px solid #a78bfa;
}
Podgląd

Kliknij link w podglądzie. Adres kończy się wtedy na #faq, a sekcja pasuje do pseudoklasy :target.

Definicja i zastosowanie

#

Selektor identyfikatora zaczyna się znakiem #: reguła #koszyk { … } trafia w element z atrybutem id="koszyk". Identyfikator powinien być unikalny w całym dokumencie, więc taki selektor zwykle wskazuje dokładnie jeden element.

Jego specyficzność to (1, 0, 0). Jeden identyfikator wygrywa z dowolną liczbą klas, dlatego reguły z # trudno później nadpisać. Z tego powodu większość zespołów stylizuje komponenty klasami, a identyfikatorów używa do kotwic, etykiet formularzy (<label for>) i JavaScriptu.

Identyfikatory przydają się w nawigacji wewnątrz strony. Link href="#cennik" przewija do elementu z id="cennik", a ten element pasuje wtedy do pseudoklasy :target, którą można podświetlić. Wielkość liter ma znaczenie, a identyfikator zaczynający się od cyfry wymaga w CSS ucieczki znakowej.

Jeśli musisz trafić w element po identyfikatorze, a nie chcesz podbijać wagi, użyj selektora atrybutu [id="koszyk"] (waga klasy) albo :where(#koszyk) (waga zero).

Składnia

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

Warianty zapisu

#
  • #logo

    Element z id="logo". Klasa o tej samej nazwie nie pasuje, bo to zupełnie inny atrybut.
  • #menu span

    (1, 0, 1)

    Identyfikator jako punkt zaczepienia: każdy span wewnątrz #menu. Cała reguła dostaje wagę identyfikatora.
  • [id="logo"]

    (0, 1, 0)

    Selektor atrybutu trafia w ten sam element, ale waży tyle co klasa, a nie identyfikator.
  • :where(#logo)

    (0, 0, 0)

    Ten sam element z wagą zero. Taką regułę nadpisze nawet zwykły selektor typu.

Warianty zapisu w praktyce

#

#menu span

Identyfikator jako punkt zaczepienia: każdy span wewnątrz #menu. Cała reguła dostaje wagę identyfikatora.
#menu span { background: #7c3aed; color: #fff; }

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 stylowania wybieraj klasy. Identyfikatory zostaw dla kotwic, etykiet formularzy i skryptów, a w CSS używaj ich oszczędnie.
  • Nie powtarzaj tego samego id na stronie. Przeglądarka zniesie błąd, ale getElementById, etykiety <label for> i kotwice zadziałają tylko dla pierwszego takiego elementu.
  • Sekcje, do których prowadzą linki z kotwicą, wyróżnij pseudoklasą :target. Użytkownik od razu zobaczy, gdzie wylądował.

Powiązane hasła

#

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