@finito:
Fakt, który może ułatwi Ci czytanie arkuszy stylów: CSS nie predefiniuje ŻADNYCH klas. Ani striped
, ani jakiejkolwiek innej. Czyli jeśli ktoś napisze selektor typu .cokolwiek
, to zadziała on tylko jeśli w HTML-u znajdzie się klasa cokolwiek.
CSS definiuje za to kilka pseudoklas czy pseudoelementów. Ale one w selektorach zaczynają się od -- odpowiednio -- dwukropka (:pseudoklasa
, np. :hover
lub :nth-child(odd)
) lub od podwójnego dwukropka (::pseudoelement
, np. ::before
lub ::first-line
). Tak mówi najnowsza wersja standardu, czyli CSS3. W CSS2.1 była ta różnica, że pseudoelementy zapisywaliśmy tak samo jak pseudoklasy, czyli z jednym dwukropkiem. Więc :before
też działa i obecnie widzi się częściej ten zapis niż ::before
, bo ludzie jeszcze nieco nieśmiało używają CSS3.
Listę selektorów możesz zobaczyć w specyfikacji CSS3, o tutaj:
http://www.w3.org/TR/selectors/
To jest specyfikacja na stronie W3C. Kolesi, którzy tworzą CSS. Ostateczne źródło wiedzy :)
Mam nadzieję, że te informacje pomogą Ci odważnie(j) używać CSS-ów. Jeśli nauczysz się czytać specyfikacje, będziesz mógł sobie stworzyć własnego tzw. bullshit-shielda :). Mamy taką branżę, że nawet bardzo słaby webdeveloper jest w stanie założyć sobie bloga czy napisać jakiś techniczny artykuł. Przez to w necie jest pełno bzdur. Jak ktoś zaczyna przygodę z czymś tak złożonym jak język CSS, to z początku błądzi trochę po ciemku i "na czuja", którego jeszcze nie zdążył sobie wyrobić. Dlatego każdy fragment twardej informacji (jak "nie ma predefiniowanych klas") przydaje się i zawęża nasze poszukiwania.