Tematy: wprowadzenie | selektory elementów | selektory atrybutów | selektory specjalne
selektory pseudoklas | selektory pseudoelementów
Selektory zostały rozszerzone na atrybuty elementów. Jak pamiętamy, elementy mogą przybierać określone atrybuty, na przykład akapit może być wyrównany do prawego marginesu (align="right"). Można to wykorzystać do nadawania pewnych wartości: jeśli akapit jest wyrównany do prawej, to jest wyświetlany na czerwono.
Ogólna postać selektora atrybutów jest następująca:
element[atrybut relacja wartość] {deklaracja stylu}
Przykładowo:
p[align=right] {color: red; }
akapit justowany do prawej strony, w kolorze czerwonym.
Style te najlepiej jest definiować w nagłówku strony lub w zewnętrznym arkuszu.
Interpretacja: Netscape 6, Opera 7, Internet Explorer 7
Relacja może być przedstawiona czterema sposobami, co odpowiada czterem poniższym typom selektora atrybutów. Jedną z relacji jest zastosowany tu znak =.
a. Prosty selektor atrybutu
Element[atrybut] {deklaracja stylu}
lub
[atrybut] {deklaracja stylu}
Na przykład:
h1[title] {font-family: Verdana; color:green}
Każdy tytuł stopnia pierwszego, w którym znajdzie się atrybut title, będzie wyświetlany za pomocą czcionki Verdana w kolorze zielonym.
Interpretacja: Netscape 6, Opera 5, Internet Explorer 7.
[title] {font-family: Georgia}
Dowolny element z atrybutem title (o dowolnej jego wartości) będzie wyświetlany za pomocą czcionki Georgia.
<p title="akapit">Akapit z atrybutem title, zapisany czcionką Georgia.</p>
Akapit z atrybutem title, zapisany czcionką Georgia.
Interpretacja: Netscape 6, Opera 7, Internet Explorer 7.
b. Selektor atrybutu o określonej wartości
Selektor ten określa formatowanie, gdy atrybut ma konkretną wartość.
Element[atrybut="wartość"] {deklaracja stylu}
lub
[atrybut="wartość"] {deklaracja stylu}
Na przykład:
h2[title="rozdział"] {font-family: Impact}
Każdy tytuł stopnia drugiego, w którym znajdzie się atrybut title="rozdział", będzie wyświetlany za pomocą czcionki Impact.
[title="ważne"] {font-weight: bold}
Każdy element z atrybutem title="ważne" będzie wyświetlany za pomocą czcionki pogrubionej.
To jest bardzo ważny akapit
Interpretacja: Netscape 6, Opera 7, Internet Explorer 7.
Jak łatwo zauważyć, selektor atrybutu o określonej wartości różni się od prostego selektora atrybutu konkretną wartością atrybutu.
Selektor atrybutu o określonej wartości ma jeszcze dwie odmiany, które można przedstawić następująco:
c. Selektor atrybutu zawierający ciąg znaków ze spacjami
[atrybut~=wartość]
W tej odmianie ciąg znaków podany jako wartość może być fragmentem wartości atrybutu konkretnego elementu. Przykładowo:
h3[title~="rozdział"] {font-family:Georgia}
<h3 title="to jest kolejny rozdział">Tytuł stopnia trzeciego</h3>
Interpretacja: Netscape 6, Opera 5, Internet Explorer 7.
Taka postać stylu będzie się odnosić do wszystkich tytułów stopnia pierwszego, w których atrybut title będzie zawierać wyraz rozdział, np. title="rozdział pierwszy", title="rozdział drugi" itd. Zwróćmy uwagę, że wyrazy w title są rozdzielone spacjami.
d. Selektor atrybutu zawierający ciąg znaków z dywizami
Ta odmiana została przewidziana do obsługi wartości zawierających dywizy (łączniki).
[atrybut|=wartość]
Podanie w arkuszu definicji:
*[title|="en"] {color: green}
spowoduje objęcie nią wszystkich elementów, które mają atrybut title zawierający en-a, en-b itd. Jest to wykorzystywane np. w obsłudze języków, których kody są rozróżniane, choć początek jest taki sam: en-us, en-uk.
A paragraph in UK-English
Interpretacja: Netscape 6, Opera 5, Internet Explorer 7.