2016-07-30 61 views
8

Według W3C definicja selektora nie obejmuje Pseudoelement: https://www.w3.org/TR/css3-selectors/#selector-syntaxCzy pseudoelementy mogą być używane samodzielnie w CSS?

Powyższy związek mówi:

Selektor jest sieć z jednego lub większej liczby sekwencji prostych selektorów oddzielone kombinatorami.

i to też mówi:

Prosty selektor jest albo selektor typu, selektor uniwersalny, selektor atrybutu, selektor klasy, selektor ID lub pseudo-klasa.

dotyczące sposobu należy stosować Pseudoelement, mówi:

jeden pseudo element może być dołączony do ostatniej sekwencji prostych selektorów w selektorze.

i

może pojawić się tylko jeden Pseudoelement od wyboru, a jeśli są obecne to musi znajdować się po sekwencji prostych selektory reprezentuje przedmiotów selektora.

Czy oznacza to, że pseudoelement może być tylko przyrostkiem dla "prawidłowego" selektora i nie powinien być używany samodzielnie?

+1

Selektor 4 * nieco * wyjaśnia to poprzez „selektor” prawdziwie streszczenie określenia, które mogą być stosowane do dowolnej jednej lub kombinacji elementów selektora (S) i zastępując Seletory definicji 3'S z "złożonym selektorem" (i "sekwencją prostych selektorów" staje się "selektorem złożonym"). Mimo to, nawet w obrębie CSSWG pozostaje kwestia, czy pseudoelement powinien być uważany za część złożonego selektora (obecne brzmienie selektorów-4 silnie implikuje, że tak nie jest). – BoltClock

Odpowiedz

6

Czy oznacza to, że pseudoelement może być tylko przyrostkiem dla "prawidłowego" selektora i nie powinien być używany samodzielnie?

Twój wniosek nie jest prawdziwy, ponieważ universal selector* można pominąć.

Jeżeli selektor uniwersalny przedstawiony * [...] natychmiast następnie pseudo-element, wówczas * może zostać pominięty, a obecność selektor uniwersalny wynikało.

Można więc użyć samego pseudoelementu, np. ::before, ponieważ pod maską będzie on traktowany jak *::before.

::before { 
 
    content: 'Hello!'; 
 
}

+0

@LGSon Dzięki, starałem się to wyjaśnić. – Oriol