Selektory#
Selektor atrybutu o określonym łączniku w wartości#
[att|=val] { /* deklaracje */ }Ten rodzaj selektora atrybutu reprezentuje element z konkretną nazwą atrybutu, którego wartość jest równa "val" lub rozpoczyna się od "val", po której następuje znak łącznika (U+002D, -). Selektor przeznaczony jest przede wszystkim do porównywania pierwszego członu w kodach językowych (np. w atrybucie hreflang elementów HTML), jak opisano w dokumencie "BCP 47" lub jego nowszych wersjach.
Następujący selektor atrybutu dopasowuje wszystkie elementy zawierające atrybut hreflang z wartością "en", jaki i "en-us", "en-gb", "en-us-1", itd.:
*[hreflang|="en"]
/* lub po prostu */
[hreflang|="en"]Poniższy selektor został dodatkowo zawężony do elementów a:
a[hreflang|="en"]Oczywiście można podawać wiele selektorów atrybutów o określonym łączniku w wartości, i aby dopasowanie miało miejsce, to każdy z nich musi występować w elemencie:
[hreflang|=en][class|=car]Kolejność występowania atrybutów, zarówno w selektorze jak i w elemencie, jest nieistotna.
W przypadku wybierania elementów z kodami językowymi ustawianymi za pomocą atrybutu lang (lub xml:lang) należy rozważyć użycie pseudoklasy :lang(). W ramach uzupełnienia warto zapoznać się z materiałami umieszczonymi w kursie HTML 4.01 (dział "Języki").
Prosty przykład:
<!DOCTYPE html>
<html>
<head>
<style>
[id|=test] {color: blue;}
[class|=car-1] {color: green;}
[class|=car][id|=test] {color: red;}
[class|="car audi"] {color: orange;} /* brak zastosowania */
[raz|="" dwa|=""] {color: orange;} /* brak zastosowania */
</style>
</head>
<body>
<p>Akapit powinien mieć kolor czarny (brak atrybutów).</p>
<p id="test">Akapit powinien mieć kolor niebieski (id="test").</p>
<p id="test-1">Akapit powinien mieć kolor niebieski (id="test-1").</p>
<p class="car-1-2-3">Akapit powinien mieć kolor zielony (class="car-1-2-3").</p>
<p id="test" class="car-audi">Akapit powinien mieć kolor czerwony (id="test" class="car-audi").</p>
<p class="car audi a3">Akapit powinien mieć kolor czarny (class="car audi a3").</p>
<p raz="">Akapit powinien mieć kolor czarny (raz="").</p>
</body>
</html>