Skip to main content

Dowiedz się, co to jest selektor potomków CSS

Specificity - Specyficzność selektorów CSS (Czerwiec 2026)

Specificity - Specyficzność selektorów CSS (Czerwiec 2026)
Anonim

Struktura dokumentu HTML jest podobna do drzewa genealogicznego. W twojej rodzinie macie rodziców i innych, którzy byli przed wami. To są twoi przodkowie. Dzieci i ci, którzy przychodzą po tobie na tym drzewie, są twoimi potomkami. HTML działa w podobny sposób. Elementy znajdujące się w innych elementach są ich potomkami. Na przykład, ponieważ prawie każdy element HTML jest w środku tagi, będą potomkami tego elementy. Ta relacja jest ważna, aby zrozumieć, kiedy zaczynasz pracę z CSS i musisz kierować określone elementy, aby zastosować style wizualne.

Selektory potomków CSS

Selektor potomka CSS stosuje się do elementów znajdujących się wewnątrz innego elementu (lub dokładniej mówiąc element będący potomkiem innego elementu). Na przykład lista nieuporządkowana ma znacznik z tagami jako potomkami. Wykorzystajmy następujący HTML jako przykład:

  • to jest link

The LI tagi są potomkami UL etykietka. The ZA tag jest potomkiem obie LI (potomek potomka) i UL (potomek wnuka) znaczniki. Jeśli myślisz o tym przy pomocy przykładu drzewa genealogicznego, to

    byłby rodzicem
  • byłoby dzieckiem tego elementu, a byłoby dzieckiem
  • i wnukiem
      .

      Jak więc ukierunkować konkretne elementy na stronie internetowej za pomocą tych selektorów potomnych? Najpierw musisz zdefiniować selektory potomka, używając dwóch (lub więcej) selektorów typu oddzielonych spacjami.

      li a {dekoracja tekstowa: brak; }

      W tym przykładzie style będą miały zastosowanie tylko do elementu link () będącego potomkiem elementu elementu list (

    • ). Wszystkie pozostałe linki na stronie, które nie są potomkami elementu listy, nie otrzymają tego stylu.

      Ważną rzeczą do zapamiętania jest to, że nie ma znaczenia, ile tagów znajduje się pomiędzy tagami, które możesz użyć w selektorze potomnym. Jeśli drugi element jest umieszczony w dowolnym miejscu pierwszego elementu, zostanie wybrany jako potomek.

      Jeśli chcesz wybrać wszystkie kotwice, które pochodzą od elementów ul, napiszesz:

      ul a {dekoracja tekstu: brak; }

      Teraz te style będą stosowane do każdego linku będącego potomkiem elementu listy. Możesz również napisać ten selektor

      ul li a {dekoracja tekstowa: brak; }

      Jest to selektor potomny, który używa więcej niż dwóch selektorów typów. W takim przypadku będzie to dotyczyło odsyłaczy, które są wewnątrz elementu listy, a także wewnątrz listy nieuporządkowanej.

      Używanie selektorów klasy i selektorów identyfikatorów

      Selektory, z których się wywodzisz, nie muszą zawsze być potomkami typu. Na przykład wyobraź sobie, że masz obszar witryny (jak podział) z atrybutem identyfikatora "billboard". Możesz ustawić selektor potomka z tego identyfikatora:

      #billboard ul {background-color: #ccc; }

      Oznaczałoby to nieuporządkowaną listę będącą potomkiem elementu o identyfikatorze "billboard". Możesz zrobić to samo dla wartości klasy.

      div.billboard ul {background-color: #ccc; }

      Zakłada się, że podział ma wartość klasy "billboard". Powyższy CSS nadawałby styl

        element wewnątrz dowolnego podziału, który ma tę wartość klasy.

        Możesz uzyskać naprawdę ciężkie i pełne gadżetów z selektorami potomków. Na przykład, jeśli używasz programu Dreamweaver do pisania kodu HTML, istnieje ustawienie po dodaniu nowych reguł CSS, które automatycznie utworzą selektor na podstawie położenia kursora na tej stronie. Tym, co Dreamweaver robi w tym przypadku, jest stworzenie niezwykle szczegółowego i długiego selektora potomnego. Ta specyfika nie jest konieczna, aby Twój CSS działał. To, co chcesz zrobić, to znaleźć równowagę pomiędzy selektorem potomnym, który jest wystarczająco szczegółowy, abyś mógł przejść do dokładnie tych elementów, których potrzebujesz (bez stylizacji, na które nie chcesz wpływać) bez reguł CSS, które mają zbyt duże selektory duży.