Prosty selektor atrybutu
W jaki sposób określić formatowanie elementu, który posiada określony atrybut?
selektor[atrybut] { cecha: wartość }
Atrybut oznacza konkretny parametr nadany znacznikowi z poziomu języka HTML (np. atrybut
title="..."
).Natomiast wyrazy "cecha" oraz "wartość" określają atrybuty elementu nadane poprzez style i zostaną opisane w dalszych rozdziałach.
Polecenie to może zostać wykorzystane dla elementów, którym z poziomu HTML został nadany określony atrybut (przy czym jego wartość nie ma znaczenia). Pozwala nadać konkretne cechy elementom, które posiadają właśnie taki atrybut. Na przykład znacznik może być automatycznie napisany czcionką koloru czerwonego, jeśli ma nadany atrybut title="..."
(który powoduje wyświetlenie tekstu informacji, po wskazaniu myszką). W tym przypadku nie ma znaczenia jaką wartość ma atrybut, ważne jest jedynie, aby został on nadany.
UWAGA! Polecenie nie interpretuje MSIE 6 (od wersji 7 wszystko jest już w porządku) .
W języku XHTML wszystkie nazwy atrybutów w selektorach muszą być pisane małymi literami.
Przykład
Jeśli w arkuszu stylów strony została umieszczona następująca reguła:📋 Zaznacz kod ▶ Edytuj na żywo
p[title] { color: red }to każdy akapit, któremu został nadany atrybut
title="..."
, powinien mieć kolor czerwony:To jest akapit, któremu został nadany atrybut TITLE (aby to sprawdzić, wskaż go myszką) i dlatego powinien być koloru czerwonego.
Dla porównania, to jest inny akapit bez atrybutu TITLE.
Pierwszy z podanych wyżej akapitów powinien być czerwony, a drugi nie. Jeśli używasz Internet Explorera 6, żaden akapit nie będzie czerwony.
Dozwolone jest podanie kilku atrybutów. Wtedy element musi posiadać wszystkie z nich, aby otrzymał formatowanie:
📋 Zaznacz kod ▶ Edytuj na żywo
p[title][lang] { color: red }
To jest akapit z atrybutem TITLE oraz LANG (powinien być czerwony).
To jest akapit tylko z atrybutem TITLE (nie powinien być czerwony).
Przeglądarki
![]() Chrome | ![]() Firefox | ![]() Edge | ![]() Opera | ![]() Safari | Poziom wsparcia min. 2,5 roku | |
---|---|---|---|---|---|---|
[atrybut] | 1 2008-12-11 | 1 2004-11-09 | 12 2015-07-29 | 9 2006-06-20 | 3 2007-10-26 |
Komentarze
- Soanvig
03.01.2018 11:22
https://jsfiddle.net/23f260pe/
Ale działa... Próbowałem jeszcze pozmieniać, np. na "lubię p" oraz "lacki", ale nadal działa
Zobacz więcej - kiszuriwalilibori
02.01.2018 22:49
Do selektora wyboru zawierającego okreslony tekst próbowałem dodac drugi warunek, dla łatwości rwóniez dla title.
No i okazało sie, że łapie tylko wtedy, kiedy jeden z ciągów jest podciągiem drugiego
Czyli [...] nie łapie
a [...] łapie
Z czego to wynika?
Tekst jest z kursu...
Zobacz więcej - Soanvig
28.08.2017 22:50
Javascript niestety. W CSS możesz się odnosić tylko do elementów, nie ich zawartości.
Zobacz więcej - Hoinkas
28.08.2017 21:17
Jak musiałoby być określone polecenie by tekst, który najeżdżam myszką i wyrazy o takim samym układzie liter również się podświetlały? Potrzebuję by zastosować w tabeli, gdzie każdy człowiek jest wpisany po kilkadziesiąt razy, dla łatwiejszego zorientowania się.
Zobacz więcej - CzarnYU_owca
12.09.2015 12:21
właśnie, o co chodzi? przecież i tak będzie to samo i tak, tylko inaczej w headzie napisane, selektory, wartości i cechy i tak będą takie same
Zobacz więcej - Luke
06.12.2013 22:58
Dalej nie rozumiem Twojego problemu. Przecież składnia jest taka sama.
Zobacz więcej - Bubu
06.12.2013 22:46
Prawda, prawda, ale uważam, że każdy etap poradnika powinien zostać wytłumaczony na zewnętrznym i wewnętrznym arkuszu CSS. Są tacy, którzy nie preferują stylu wewnętrznego, ponieważ wolą pewną hierarchię i ład w kodowaniu.
Zobacz więcej - Luke
06.12.2013 22:04
Pomiędzy wewnętrznym a zewnętrznym arkuszem CSS jest tylko jedna różnica, a mianowicie arkusz wewnętrzny znajduje się pomiędzy znacznikami <style> i </style>, a zewnętrzny jest w osobnym pliku. Składnia jest taka sama.
Zobacz więcej - Bubu
06.12.2013 21:46
Czy każdy etap w poradniku jest pokazany na wewnętrznym arkuszu CSS? Kurcze, bo już zdążyłam się przyzwyczaić do zewnętrznego. :(
Zobacz więcej - Sobak
03.09.2012 16:33
Być może kED używa w podglądzie jakiejś starej wersji IE, która nie obsługuje tej możliwości?
Zobacz więcej