Постоянно забываю селекторы по атрибутам из CSS3. Перевёл часть доки w3c, чтобы всегда была под рукой.
E[foo]
Элемент E с существующим атрибутом foo.
a[title] { color:red; }
<a>Link 1</a>
<a title="Title">Link 2</a>
<a>Link 3</a>
E[foo="bar"]
Элемент E у которого атрибут foo равен bar.
a[href="/url/2"] { color:red; }
<a href="/url/1">Link 1</a>
<a href="/url/2">Link 2</a>
<a href="/url/3">Link 3</a>
E[foo~="bar"]
Применяется к элементам E, у которых атрибут foo содержит параметры разделённые пробелом и один из этих параметров равен bar, либо foo в точности равен bar.
a[title~="hello"] { color:red; } <a title="hello world">Link 1</a> <a title="world hello">Link 2</a> <a title="world">Link 3</a> <a title="hello">Link 4</a>
E[foo^="bar"]
Элемент E у которого атрибут foo начинается с bar или равен bar.
a[title^="hello"] { color:red; } <a title="hello world">Link 1</a> <a title="world hello">Link 2</a> <a title="world">Link 3</a> <a title="hello">Link 4</a>
E[foo$="bar"]
Элемент E у которого атрибут foo заканчивается на bar или равен bar.
a[title$="hello"] { color:red; } <a title="hello world">Link 1</a> <a title="world hello">Link 2</a> <a title="world">Link 3</a> <a title="hello">Link 4</a>
E[foo*="bar"]
Элемент E у которого атрибут foo содержит bar или равен bar.
a[title*="hello"] { color:red; } <a title="hello world!">Link 1</a> <a title="helloWorld">Link 2</a> <a title="hello">Link 3</a> <a title="world">Link 4</a>
E[foo|="bar"]
Применяется к элементам E, у которых атрибут foo содержит параметры разделённые дефисом и первый из этих параметров равен bar, либо foo в точности равен bar.
a[title|="hello"] { color:red; } <a title="hello-world">Link 1</a> <a title="world-hello">Link 2</a> <a title="hello">Link 3</a> <a title="world">Link 4</a>
E[..][..]
Селекторы по атрибутам можно совмещать, например:
a[href^="/path/"][rel="tag"] { color:red; }
<a href="/path/to/file" rel="tag">Link 1</a>
<a href="/other/url" rel="tag">Link 2</a>
<a href="/path/to/file">Link 3</a>
Написанное актуально для
CSS3
Добавить комментарий