Szukaj…


Wprowadzenie

Selektory CSS identyfikują określone elementy HTML jako cele dla stylów CSS. W tym temacie opisano, w jaki sposób selektory CSS są ukierunkowane na elementy HTML. Selektory używają szerokiej gamy ponad 50 metod selekcji oferowanych przez język CSS, w tym elementów, klas, identyfikatorów, pseudoelementów i pseudoklas oraz wzorców.

Składnia

  • # id
  • . Nazwa klasy
  • : pseudo-nazwa klasy
  • :: pseudoelement
  • [ attr ] / * ma atrybut attr . * /
  • [ attr = „ wartość ”] / * ma atrybut attr , a jego wartość to dokładnie „ wartość ”. * /
  • [ attr ~ = „ wartość ”] / * ma atrybut attr , a jego wartość, gdy jest podzielona na białe znaki , zawiera „ wartość ”. * /
  • [ attr | = „ wartość ”] / * ma atrybut attr , a jego wartość to dokładnie „ wartość ”, lub jego wartość zaczyna się od „ wartość - ”. * /
  • [ attr ^ = „ wartość ”] / * ma atrybut attr , a jego wartość zaczyna się od „ wartość ”. * /
  • [ attr $ = „ wartość ”] / * ma atrybut attr , a jego wartość kończy się na „ wartość ”. * /
  • [ attr * = „ wartość ”] / * ma atrybut attr , a jego wartość zawiera „ wartość ”. * /
  • nazwa elementu
  • *

Uwagi

  • Czasami widać podwójne dwukropkami ( :: ) zamiast tylko jednego ( : ). Jest to sposób na oddzielenie pseudoklas od pseudoelementów .
  • Starych przeglądarek, takich jak Internet Explorer 8, obsługuje tylko jeden dwukropek ( : ) do określania pseudo-elementy.
  • W przeciwieństwie do pseudoklas, tylko jeden pseudoelement może być użyty na selektor, jeśli jest obecny, musi występować po sekwencji prostych selektorów reprezentujących podmioty selektora (przyszła wersja specyfikacji W3C może dopuszczać wiele pseudoelementów na selektor ).

Selektory atrybutów

Przegląd

Selektory atrybutów mogą być używane z różnymi typami operatorów, które odpowiednio zmieniają kryteria wyboru. Wybierają element na podstawie obecności danego atrybutu lub wartości atrybutu.

Selektor (1) Dopasowany element Wybiera elementy ... Wersja CSS
[attr] <div attr> Z atrybutem attr 2)
[attr='val'] <div attr="val"> Gdzie atrybut attr ma wartość val 2)
[attr~='val'] <div attr="val val2 val3"> Gdzie val pojawia się w
oddzielona spacjami lista attr
2)
[attr^='val'] <div attr="val1 val2"> Gdzie wartość attr zaczyna się od val 3)
[attr$='val'] <div attr="sth aval"> Gdzie wartość attr kończy się na val 3)
[attr*='val'] <div attr="somevalhere"> Gdzie attr zawiera val dowolnym miejscu 3)
[attr|='val'] <div attr="val-sth etc"> Gdzie wartość attr jest dokładnie val ,
lub zaczyna się od val i natychmiast
a następnie - (U + 002D)
2)
[attr='val' i] <div attr="val"> Gdzie attr ma wartość val ,
ignorując obudowę listu val .
4 (2)

Uwagi:

  1. Wartość atrybutu może być otoczona pojedynczymi lub podwójnymi cudzysłowami. Żaden cytat może w ogóle nie działać, ale nie jest zgodny ze standardem CSS i jest odradzany.

  2. Nie ma jednej zintegrowanej specyfikacji CSS4, ponieważ jest ona podzielona na osobne moduły. Istnieją jednak moduły „poziomu 4”. Zobacz obsługę przeglądarki .

Detale

[attribute]

Wybiera elementy o podanym atrybucie.

div[data-color] {
  color: red;
}
<div data-color="red">This will be red</div>
<div data-color="green">This will be red</div>
<div data-background="red">This will NOT be red</div>

Demo na żywo na JSBin

[attribute="value"]

Wybiera elementy o podanym atrybucie i wartości.

div[data-color="red"] {
  color: red;
}
<div data-color="red">This will be red</div>
<div data-color="green">This will NOT be red</div>
<div data-color="blue">This will NOT be red</div>

Demo na żywo na JSBin

[attribute*="value"]

Wybiera elementy o podanym atrybucie i wartości, w przypadku gdy podany atrybut zawiera podaną wartość w dowolnym miejscu (jako podłańcuch).

[class*="foo"] {
  color: red;
}
<div class="foo-123">This will be red</div>
<div class="foo123">This will be red</div>
<div class="bar123foo">This will be red</div>
<div class="barfooo123">This will be red</div>
<div class="barfo0">This will NOT be red</div>

Demo na żywo na JSBin

[attribute~="value"]

Wybiera elementy o podanym atrybucie i wartości, w których dana wartość pojawia się na liście oddzielonej spacjami.

[class~="color-red"] {
  color: red;
}
<div class="color-red foo-bar the-div">This will be red</div>
<div class="color-blue foo-bar the-div">This will NOT be red</div>

Demo na żywo na JSBin

[attribute^="value"]

Wybiera elementy o podanym atrybucie i wartości, od których dany atrybut zaczyna się od wartości.

[class^="foo-"] {
  color: red;
}
<div class="foo-123">This will be red</div>
<div class="foo-234">This will be red</div>
<div class="bar-123">This will NOT be red</div>

Demo na żywo na JSBin

[attribute$="value"]

Wybiera elementy o podanym atrybucie i wartości, w których dany atrybut kończy się podaną wartością.

[class$="file"] {
  color: red;
}
<div class="foobar-file">This will be red</div>
<div class="foobar-file">This will be red</div>
<div class="foobar-input">This will NOT be red</div>

Demo na żywo na JSBin

[attribute|="value"]

Wybiera elementy o danym atrybucie i wartości, w których wartość atrybutu jest dokładnie podaną wartością lub jest dokładnie podaną wartością, po której następuje - (U + 002D)

[lang|="EN"] {
  color: red;
}
<div lang="EN-us">This will be red</div>
<div lang="EN-gb">This will be red</div>
<div lang="PT-pt">This will NOT be red</div>

Demo na żywo na JSBin

[attribute="value" i]

Wybiera elementy o danym atrybucie i wartości, w których wartość atrybutu może być reprezentowana jako Value , VALUE , vAlUe lub każda inna możliwość bez rozróżniania wielkości liter.

[lang="EN" i] {
  color: red;
}
<div lang="EN">This will be red</div>
<div lang="en">This will be red</div>
<div lang="PT">This will NOT be red</div>

Demo na żywo na JSBin

Specyfika selektorów atrybutów

0-1-0

Taki sam jak selektor klasy i pseudoklasa.

*[type=checkbox] // 0-1-0

Zauważ, że oznacza to, że selektora atrybutów można użyć do wybrania elementu za pomocą jego identyfikatora na niższym poziomie specyficzności niż w przypadku wybrania go za pomocą selektora identyfikatora : [id="my-ID"] kierowany na ten sam element, co #my-ID ale o niższej specyficzności.

Aby uzyskać więcej informacji, zobacz sekcję Składnia .

Kombinatory

Przegląd

Selektor Opis
div span Selektor potomków (wszystkie <span> które są potomkami <div> )
div > span Selektor potomków (wszystkie <span> które są bezpośrednim dzieckiem <div> )
a ~ span Ogólny selektor rodzeństwa (wszystkie <span> które są rodzeństwem po <a> )
a + span Sąsiadujący selektor rodzeństwa (wszystkie <span> które są bezpośrednio po <a> )

Uwaga: Selektory rodzeństwa są ukierunkowane na elementy, które występują po nich w dokumencie źródłowym. CSS ze swojej natury (kaskadowo) nie może kierować na poprzednie ani macierzyste elementy. Jednak za pomocą właściwości flex order poprzedni selektor rodzeństwa można symulować na nośnikach wizualnych .

Descendant Combinator: selector selector

Kombinator potomny reprezentowany przez co najmniej jeden znak spacji ( ), wybiera elementy, które są potomkami zdefiniowanego elementu. Ten kombinator wybiera wszystkich potomków elementu (od elementów potomnych w dół).

div p {
  color:red;
}
<div>
  <p>My text is red</p>
  <section>
    <p>My text is red</p>
  </section>
</div>

<p>My text is not red</p>

Demo na żywo na JSBin

W powyższym przykładzie wybrane są dwa pierwsze elementy <p> , ponieważ oba są potomkami <div> .


Kombinator dziecięcy: selector > selector

Kombinator potomny ( > ) służy do wybierania elementów, które są dziećmi lub bezpośrednimi potomkami określonego elementu.

div > p {
  color:red;
}
<div>
  <p>My text is red</p>
  <section>
    <p>My text is not red</p>
  </section>
</div>

Demo na żywo na JSBin

Powyższy CSS wybiera tylko pierwszy element <p> , ponieważ jest to jedyny akapit bezpośrednio pochodzący z <div> .

Drugi element <p> nie został wybrany, ponieważ nie jest bezpośrednim dzieckiem elementu <div> .


Sąsiadujący kombinator rodzeństwa: selector + selector

Kombinator sąsiedniego rodzeństwa ( + ) wybiera element rodzeństwa, który bezpośrednio podąża za określonym elementem.

p + p {
  color:red;
}
<p>My text is not red</p>
<p>My text is red</p>
<p>My text is red</p>
<hr>
<p>My text is not red</p>

Demo na żywo na JSBin

Powyższy przykład wybiera tylko te elementy <p> , które są bezpośrednio poprzedzone innym elementem <p> .


Generalny kombinator rodzeństwa: selector ~ selector

Ogólny kombinator rodzeństwa ( ~ ) wybiera wszystkie rodzeństwo następujące po określonym elemencie.

p ~ p {
  color:red;
}
<p>My text is not red</p>
<p>My text is red</p>
<hr>
<h1>And now a title</h1>
<p>My text is red</p>

Demo na żywo na JSBin

Powyższy przykład wybiera wszystkie elementy <p> , które są poprzedzone innym elementem <p> , niezależnie od tego, czy są one bezpośrednio sąsiadujące.

Selektory nazw klas

Selektor nazwy klasy wybiera wszystkie elementy o docelowej nazwie klasy. Na przykład nazwa klasy .warning wybrałaby następujący element <div> :

<div class="warning">
    <p>This would be some warning copy.</p>
</div>

Możesz także łączyć nazwy klas, aby precyzyjniej określać elementy docelowe. Oprzyjmy się na powyższym przykładzie, aby pokazać bardziej skomplikowany wybór klas.

CSS

.important {
    color: orange;
}
.warning {
    color: blue;
}
.warning.important {
    color: red;
}

HTML

<div class="warning">
    <p>This would be some warning copy.</p>
</div>

<div class="important warning">
    <p class="important">This is some really important warning copy.</p>
</div>

W tym przykładzie wszystkie elementy z klasą .warning będą miały niebieski kolor tekstu, elementy z klasą .important mają pomarańczowy kolor tekstu, a wszystkie elementy, które mają zarówno nazwę klasy .important i .warning będą miały czerwony tekst kolor.

Zauważ, że w CSS deklaracja .warning.important nie zawierała spacji między nazwami dwóch klas. Oznacza to, że znajdzie tylko te elementy, które zawierają oba warning nazwach klas i są important w ich atrybutach class . Te nazwy klas mogą być w dowolnej kolejności na elemencie.

Jeśli spacja zostanie zawarta między dwiema klasami w deklaracji CSS, wybiorą tylko elementy, które mają elementy nadrzędne z .warning klas .warning i elementy podrzędne z nazwami .important klas.

Selektory identyfikatorów

Selektory identyfikatorów wybierają elementy DOM o docelowym identyfikatorze. Aby wybrać element według określonego identyfikatora w CSS, używany jest prefiks # .

Na przykład następujący element div HTML…

<div id="exampleID">
    <p>Example</p>
</div>

… Można wybrać za pomocą #exampleID w CSS, jak pokazano poniżej:

#exampleID {
    width: 20px;
}

Uwaga : specyfikacje HTML nie zezwalają na wiele elementów o tym samym identyfikatorze

Pseudoklasy

Pseudoklasysłowami kluczowymi, które umożliwiają wybór na podstawie informacji, które znajdują się poza drzewem dokumentu lub które nie mogą być wyrażone przez inne selektory lub kombinatory. Informacje te można powiązać z pewnym stanem (pseudoklasy stanowe i dynamiczne ), lokalizacjami (pseudoklasy strukturalne i docelowe ), negacjami pierwszej (pseudoklasa negacyjna ) lub językami (pseudoklasa lang ). Przykłady obejmują to, czy podążono za linkiem ( :visited ), wskaźnik myszy znajduje się nad elementem ( :hover ), pole wyboru jest zaznaczone ( :checked ) itp.

Składnia

selector:pseudo-class { 
    property: value;
}

Lista pseudoklas:

Nazwa Opis
:active Dotyczy każdego elementu aktywowanego (tj. Klikniętego) przez użytkownika.
:any Umożliwia budowanie zestawów powiązanych selektorów poprzez tworzenie grup, które
uwzględnione elementy będą pasować. Jest to alternatywa dla powtarzania całego selektora.
:target Wybiera bieżący aktywny element #news (kliknięty w adres URL
zawierające tę nazwę kotwicy)
:checked Dotyczy sprawdzonych elementów radia, pola wyboru lub opcji
lub przełączyło się na stan „włączony”.
:default Reprezentuje dowolny element interfejsu użytkownika, który jest domyślny w grupie
podobne elementy.
:disabled Dotyczy każdego elementu interfejsu użytkownika, który jest w stanie wyłączonym.
:empty Dotyczy każdego elementu, który nie ma dzieci.
:enabled Dotyczy dowolnego elementu interfejsu użytkownika, który jest w stanie włączonym.
:first W połączeniu z regułą @page wybiera pierwszą stronę w
wydrukowany dokument.
:first-child Reprezentuje każdy element, który jest pierwszym elementem potomnym jego elementu nadrzędnego.
:first-of-type Ma zastosowanie, gdy element jest pierwszym z wybranego typu elementu
wewnątrz jego rodzica. To może być pierwsze dziecko.
:focus Dotyczy każdego elementu, na którym skupia się użytkownik. Może to być podane przez
klawiatura użytkownika, zdarzenia myszy lub inne formy wprowadzania danych.
:focus-within Można go użyć do podświetlenia całej sekcji, gdy jeden element w niej jest skupiony. Pasuje do każdego elementu, który pasuje do pseudoklasy: focus lub który ma fokus potomka.
:full-screen Dotyczy dowolnego elementu wyświetlanego w trybie pełnoekranowym. Wybiera cały stos
elementów, a nie tylko elementu najwyższego poziomu.
:hover Dotyczy dowolnego elementu ukrytego przez urządzenie wskazujące użytkownika, ale
nie aktywowany.
:indeterminate Stosuje elementy interfejsu radiowego lub pola wyboru, które nie są ani zaznaczone, ani
niezaznaczone, ale są w nieokreślonym stanie. Może to być spowodowane
atrybut elementu lub manipulacja DOM.
:in-range Pseudoklasa :in-range CSS pasuje, gdy element ma
jego atrybut wartości w ramach określonych ograniczeń zakresu dla tego elementu.
Pozwala stronie przesłać informację zwrotną na temat aktualnie zdefiniowanej wartości
użycie elementu mieści się w granicach zakresu.
:invalid Dotyczy elementów <input> , których wartości są niepoprawne zgodnie z
typ określony w atrybucie type= .
:lang Odnosi się do każdego elementu, który zawija <body> element ma poprawnie
wyznaczony lang= atrybut. Aby pseudoklasa była poprawna, musi
zawierać poprawny dwu- lub trzyliterowy kod języka.
:last-child Reprezentuje każdy element, który jest ostatnim elementem potomnym jego rodzica.
:last-of-type Ma zastosowanie, gdy element jest ostatnim z wybranego typu elementu w środku
jego rodzic. To może być ostatnie dziecko.
:left W połączeniu z regułą @page zaznacza wszystkie pozostałe
strony w drukowanym dokumencie.
:link Dotyczy linków, które nie były odwiedzane przez użytkownika.
:not() Dotyczy wszystkich elementów, które nie pasują do przekazanej wartości
( :not(p) lub :not(.class-name) . Musi mieć wartość
jest prawidłowy i może zawierać tylko jeden selektor. Można :not połączyć wiele :not selektorów razem.
:nth-child Stosuje się, gdy element jest n elementem swojego rodzica, gdzie n
może być liczbą całkowitą, wyrażeniem matematycznym (np. n+3 ) lub słowami kluczowymi
odd lub even .
:nth-of-type Stosuje się, gdy element jest n elementem jego rodzica
ten sam typ elementu, gdzie n może być liczbą całkowitą, matematyczną
wyrażenie (np. n+3 ) lub słowa kluczowe odd lub even .
:only-child Pseudoklasa CSS :only-child reprezentuje dowolny element
który jest jedynym dzieckiem jego rodzica. To jest to samo co
:first-child:last-child lub :nth-child(1):nth-last-child(1) ,
ale o niższej specyficzności.
:optional Pseudo-klasa :optional CSS reprezentuje dowolny element
który nie ma ustawionego wymaganego atrybutu. To pozwala
formularze, aby łatwo wskazać pola opcjonalne i odpowiednio je stylizować.
:out-of-range Pseudoklasa CSS :out-of-range pasuje, gdy element ma swój element
atrybut wartości poza podanymi ograniczeniami zakresu dla tego elementu.
Pozwala to stronie wyrazić opinię, że wartość aktualnie zdefiniowana za pomocą
element jest poza granicami zakresu. Wartość może znajdować się poza zakresem, jeśli jest
mniejsze lub większe niż maksymalne i minimalne ustawione wartości.
:placeholder-shown Eksperymentalny. Dotyczy dowolnego elementu formularza wyświetlającego obecnie tekst zastępczy.
:read-only Dotyczy każdego elementu, którego użytkownik nie może edytować.
:read-write Stosuje się do każdego elementu, który może edytować użytkownik, takiego jak elementy <input> .
:right W połączeniu z regułą @page wybiera wszystkie właściwe strony w
wydrukowany dokument.
:root pasuje do elementu głównego drzewa reprezentującego dokument.
:scope Pseudoklasa CSS dopasowuje elementy, które są odwołaniem
wskaż, aby selektory pasowały do.
:target Wybiera bieżący aktywny element #news (kliknięty w adres URL
zawierające tę nazwę kotwicy)
:visited Dotyczy wszystkich linków, które odwiedził użytkownik.

Pseudoklasa :visited nie może być już używana do większości stylizacji w wielu współczesnych przeglądarkach, ponieważ jest to luka w zabezpieczeniach. Zobacz ten link w celach informacyjnych.

Podstawowe selektory

Selektor Opis
* Selektor uniwersalny (wszystkie elementy)
div Selektor znaczników (wszystkie elementy <div> )
.blue Selektor klas (wszystkie elementy oznaczone blue klasą)
.blue.red Wszystkie elementy z klasą blue i red (rodzaj selektora związków)
#headline Selektor identyfikatora (element z atrybutem „id” ustawiony na headline )
:pseudo-class Wszystkie elementy z pseudoklasą
::pseudo-element Element pasujący do pseudoelementu
:lang(en) Element pasujący: deklaracja języka, na przykład <span lang="en">
div > p selektor dziecka

Uwaga: wartość identyfikatora musi być unikalna na stronie internetowej. Używanie wartości identyfikatora więcej niż jeden raz w tym samym drzewie dokumentów jest niezgodne ze standardem HTML .

Pełna lista selektorów znajduje się w specyfikacji CSS Selecters Level 3 .

Jak stylizować wejście Range

HTML

<input type="range"></input>

CSS

Efekt Pseudo Selektor
Kciuk input[type=range]::-webkit-slider-thumb, input[type=range]::-moz-range-thumb, input[type=range]::-ms-thumb
Tor input[type=range]::-webkit-slider-runnable-track, input[type=range]::-moz-range-track, input[type=range]::-ms-track
OnFocus input[type=range]:focus
Dolna część toru input[type=range]::-moz-range-progress, input[type=range]::-ms-fill-lower (obecnie niemożliwe w przeglądarkach WebKit - wymagany JS)

Global boolean z polem wyboru: zaznaczone i ~ (ogólny kombinator rodzeństwa)

Za pomocą selektora ~ można łatwo wdrożyć globalnie dostępny boolean bez użycia JavaScript.

Dodaj wartość logiczną jako pole wyboru

Na samym początku dokumentu dodaj tyle boolanów, ile chcesz, z unikalnym id i hidden zestawem atrybutów:

<input type="checkbox" id="sidebarShown" hidden />
<input type="checkbox" id="darkThemeUsed" hidden />

<!-- here begins actual content, for example: -->
<div id="container">
    <div id="sidebar">
        <!-- Menu, Search, ... -->
    </div>

    <!-- Some more content ... -->
</div>

<div id="footer">
    <!-- ... -->
</div>

Zmień wartość logiczną

Możesz przełączać wartość logiczną, dodając label z zestawem atrybutów for :

<label for="sidebarShown">Show/Hide the sidebar!</label>

Dostęp do wartości logicznej za pomocą CSS

Normalny selektor (jak .color-red ) określa właściwości domyślne. Można je zastąpić, stosując następujące selektory true / false :

/* true: */
<checkbox>:checked ~ [sibling of checkbox & parent of target] <target>

/* false: */
<checkbox>:not(:checked) ~ [sibling of checkbox & parent of target] <target>

Zauważ, że <checkbox> , [sibling ...] i <target> powinny zostać zastąpione odpowiednimi selektorami. [sibling ...] może być konkretnym selektorem (często jeśli jesteś leniwy) po prostu * lub niczym, jeśli cel jest już rodzeństwem pola wyboru.

Przykłady powyższej struktury HTML to:

#sidebarShown:checked ~ #container #sidebar {
    margin-left: 300px;
}

#darkThemeUsed:checked ~ #container,
#darkThemeUsed:checked ~ #footer {
    background: #333;
}

W akcji

Zobacz tę skrzynkę, aby zapoznać się z implementacją tych globalnych boolanów.

CSS3: przykład selektora zakresu

<style>
input:in-range {
    border: 1px solid blue;
}
</style>



<input type="number" min="10" max="20" value="15">
<p>The border for this value will be blue</p>

Pseudoklasa :in-range CSS pasuje, gdy element ma atrybut wartości wewnątrz określonych ograniczeń zakresu dla tego elementu. Pozwala to stronie wyrazić opinię, że wartość aktualnie zdefiniowana za pomocą elementu mieści się w granicach zakresu. [1]

Pseudoklasa dziecięca

„Pseudoklasa: nth-child (an + b) CSS pasuje do elementu, który ma w drzewie dokumentu rodzeństwo + b-1 przed nim, dla danej wartości dodatniej lub zerowej dla n” - MDN: nth-child

pseudo-selektor 1 2) 3) 4 5 6 7 8 9 10
:first-child
:nth-child(3)
:nth-child(n+3)
:nth-child(3n)
:nth-child(3n+1)
:nth-child(-n+3)
:nth-child(odd)
:nth-child(even)
:last-child
:nth-last-child(3)

Wybierz element za pomocą jego identyfikatora bez wysokiej swoistości selektora ID

Ta sztuczka pomaga wybrać element wykorzystujący identyfikator jako wartość dla selektora atrybutów, aby uniknąć wysokiej specyficzności selektora ID.

HTML:

<div id="element">...</div>  

CSS

#element { ... } /* High specificity will override many selectors */

[id="element"] { ... } /* Low specificity, can be overridden easily */

A. Przykład: nie pseudoklasowy i B.: focus-in pseudoklasowy CSS

A. Składnia została przedstawiona powyżej.

Poniższy selektor pasuje do wszystkich elementów <input> w dokumencie HTML, które nie są wyłączone i nie mają klasy. .example :

HTML:

<form>
    Phone: <input type="tel" class="example">
    E-mail: <input type="email" disabled="disabled">
    Password: <input type="password">
</form>

CSS:

input:not([disabled]):not(.example){
   background-color: #ccc;
}

Pseudoklasa :not() będzie również obsługiwać selektory rozdzielane przecinkami na poziomie selektorów 4:

CSS:

input:not([disabled], .example){
   background-color: #ccc;
}

Demo na żywo na JSBin

Zobacz składnię w tle tutaj .

B. Pseudo-klasa CSS

HTML:

  <h3>Background is blue if the input is focused .</p>
  <div>
    <input type="text">
  </div>

CSS:

div {
  height: 80px;
}
input{
  margin:30px;
}
div:focus-within {
  background-color: #1565C0;
}

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Przykład selektora pseudoklasy: only-child

Pseudoklasa :only-child CSS reprezentuje każdy element, który jest jedynym dzieckiem jego rodzica.

HTML:

<div>
  <p>This paragraph is the only child of the div, it will have the color blue</p>
</div>

<div>
  <p>This paragraph is one of the two children of the div</p>
  <p>This paragraph is one of the two children of its parent</p>
</div>

CSS:

p:only-child {
  color: blue;
}

Powyższy przykład wybiera element <p> , który jest unikalnym dzieckiem od swojego rodzica, w tym przypadku <div> .

Demo na żywo na JSBin

Selektor: ostatniego typu

:last-of-type wybiera element, który jest ostatnim dzieckiem, określonego typu jego rodzica. W poniższym przykładzie css wybiera ostatni akapit i ostatni nagłówek h1 .

p:last-of-type { 
  background: #C5CAE9; 
}
h1:last-of-type { 
  background: #CDDC39; 
}
<div class="container">
    <p>First paragraph</p>
    <p>Second paragraph</p>
    <p>Last paragraph</p>
    <h1>Heading 1</h1>
    <h2>First heading 2</h2>
    <h2>Last heading 2</h2>
</div>

wprowadź opis zdjęcia tutaj

jsFiddle



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow