Css селектор атрибут значение описание правил стиля стили применяются: Селекторы атрибутов | htmlbook.ru
Содержание
Селекторы атрибутов | htmlbook.ru
Многие теги различаются по своему действию в зависимости от того, какие в них используются атрибуты. Например, тег <input> может создавать кнопку, текстовое поле и другие элементы формы всего лишь за счёт изменения значения атрибута type. При этом добавление правил стиля к селектору INPUT применит стиль одновременно ко всем созданным с помощью этого тега элементам. Чтобы гибко управлять стилем подобных элементов, в CSS введены селекторы атрибутов. Они позволяют установить стиль по присутствию определённого атрибута тега или его значения.
Рассмотрим несколько типичных вариантов применения таких селекторов.
Простой селектор атрибута
Устанавливает стиль для элемента, если задан специфичный атрибут тега. Его значение
в данном случае не важно. Синтаксис применения такого селектора следующий.
[атрибут] { Описание правил стиля }
Селектор[атрибут] { Описание правил стиля }
Стиль применяется к тем тегам, внутри которых добавлен указанный атрибут. Пробел между именем селектора и квадратными скобками не допускается.
В примере 13.1 показано изменение стиля тега <q>,
в том случае, если к нему добавлен атрибут title.
Пример 13.1. Вид элемента в зависимости от его атрибута
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Селекторы атрибутов</title>
<style>
Q {
font-style: italic; /* Курсивное начертание */
quotes: "\00AB" "\00BB"; /* Меняем вид кавычек в цитате */
}
Q[title] {
color: maroon; /* Цвет текста */
}
</style>
</head>
<body>
<p>Продолжая известный закон Мерфи, который гласит: <q>Если неприятность
может случиться, то она обязательно случится</q>, можем ввести свое наблюдение:
<q title="Из законов Фергюссона-Мержевича">После того, как веб-страница
будет корректно отображаться в одном браузере, выяснится,
что она неправильно показывается в другом</q>.</p>
</body>
</html>
Результат примера показан на рис. 13.1.
Рис. 13.1. Изменение стиля элемента в зависимости от применения атрибута title
В данном примере меняется цвет текста внутри контейнера <q>,
когда к нему добавляется title. Обратите
внимание, что для селектора Q[title] нет нужды повторять стилевые
свойства, поскольку они наследуются от селектора Q.
Атрибут со значением
Устанавливает стиль для элемента в том случае, если задано определённое значение
специфичного атрибута. Синтаксис применения следующий.
[атрибут=»значение»] { Описание правил стиля }
Селектор[атрибут=»значение»] { Описание правил стиля }
В первом случае стиль применяется ко всем тегам, которые содержат указанное
значение. А во втором — только к определённым селекторам.
В примере 13.2 показано изменение стиля ссылки в том случае, если тег <a> содержит атрибут target со значением _blank. При
этом ссылка будет открываться в новом окне и чтобы показать это, с помощью стилей
добавляем небольшой рисунок перед текстом ссылки.
Пример 13.2. Стиль для открытия ссылок в новом окне
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Селекторы атрибутов</title>
<style>
A[target="_blank"] {
background: url(images/blank.png) 0 6px no-repeat; /* Параметры фонового рисунка */
padding-left: 15px; /* Смещаем текст вправо */
}
</style>
</head>
<body>
<p><a href="1.html">Обычная ссылка</a> |
<a href="link2" target="_blank">Ссылка в новом окне</a></p>
</body>
</html>
Результат примера показан ниже (рис. 13.2).
Рис. 13.2. Изменение стиля элемента в зависимости от значения target
В данном примере рисунок к ссылке добавляется с помощью свойства background.
В его функции входит создание повторяющейся фоновой картинки, но повторение
фона можно отменить через значение no-repeat, что
в итоге даст единственное изображение.=»значение»] { Описание правил стиля }
В первом случае стиль применяется ко всем элементам, у которых значение атрибута начинаются с указанного текста. А во втором — только к определённым селекторам. Использование кавычек не обязательно, но только если значение содержит латинские буквы и без пробелов.
Предположим, что на сайте требуется разделить стиль обычных и внешних ссылок —
ссылки, которые ведут на другие сайты. Чтобы не вводить в тег <a> новый класс, воспользуемся селекторами атрибутов. Внешние ссылки характеризуются
добавлением к адресу протокола, например, для доступа к гипертекстовым документам
используется протокол HTTP. Поэтому внешние ссылки начинаются с ключевого слова http://, его и добавляем к селектору A,
как показано в примере 13.3.
Пример 13.3. Изменение стиля внешней ссылки
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Селекторы атрибутов</title>
<style>
A[href^="http://"] {
font-weight: bold /* Жирное начертание */
}
</style>
</head>
<body>
<p><a href="1.html">Обычная ссылка</a> |
<a href="http://htmlbook.ru" target="_blank">Внешняя
ссылка на сайт htmlbook.ru</a></p>
</body>
</html>
Результат примера показан ниже (рис. 13.3).
Рис. 13.3. Изменение стиля для внешних ссылок
В данном примере внешние ссылки выделяются жирным начертанием. Также можно
воспользоваться показанным в примере 13.2 приёмом и добавлять к ссылке
небольшое изображение, которое будет сообщать, что ссылка ведёт на другой сайт.
Значение атрибута оканчивается определённым текстом
Устанавливает стиль для элемента в том случае, если значение атрибута оканчивается указанным
текстом. Синтаксис применения следующий.
[атрибут$=»значение»] { Описание правил стиля }
Селектор[атрибут$=»значение»] { Описание правил стиля }
В первом случае стиль применяется ко всем элементам у которых значение атрибута завершается заданным
текстом. А во втором — только к определённым селекторам.
Таким способом можно автоматически разделять стиль для ссылок на сайты домена ru и для
ссылок на сайты других доменов вроде com, как показано в примере 13.4.
Пример 13.4. Стиль для разных доменов
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Селекторы атрибутов</title>
<style>
A[href$=".ru"] { /* Если ссылка заканчивается на .ru */
background: url(images/ru.png) no-repeat 0 6px; /* Добавляем фоновый рисунок */
padding-left: 12px; /* Смещаем текст вправо */
}
A[href$=".com"] { /* Если ссылка заканчивается на .com */
background: url(images/com.png) no-repeat 0 6px;
padding-left: 12px;
}
</style>
</head>
<body>
<p><a href="http://www.yandex.com">Yandex.Com</a> |
<a href="http://www.yandex.ru">Yandex.Ru</a></p>
</body>
</html>
В данном примере содержатся две ссылки, ведущие на разные домены — com
и ru. При этом к каждой такой ссылке с помощью стилей добавляется своя фоновая
картинка (рис. 13.4). Стилевые свойства будут применяться только для тех ссылок, атрибут href которых оканчивается на «.ru» или «.com».
Заметьте, что добавив к имени домена слэш (http://www.yandex.ru/) или адрес
страницы (http://www.yandex.ru/fun.html), мы изменим тем самым окончание и стиль
применяться уже не будет. В этом случае лучше воспользоваться селектором, у которого заданный текст встречается в любом месте значения атрибута.
Рис. 13.4. Добавление картинки к ссылкам
Значение атрибута содержит указанный текст
Возможны варианты, когда стиль следует применить к тегу с определённым
атрибутом, при этом частью его значения является некоторый текст. При этом точно не известно,
в каком месте значения включен данный текст — в начале, середине или конце. В подобном случае следует использовать
такой синтаксис.
[атрибут*=»значение»] { Описание правил стиля }
Селектор[атрибут*=»значение»] { Описание правил стиля }
В примере 13.5
показано изменение стиля ссылок, в атрибуте href которых встречается слово «htmlbook».
Пример 13.5. Стиль для разных сайтов
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Селекторы атрибутов</title>
<style>
[href*="htmlbook"] {
background: yellow; /* Желтый цвет фона */
}
</style>
</head>
<body>
<p><a href="http://www.htmlbook.ru/html/">Теги HTML</a> |
<a href="http://stepbystep.htmlbook.ru">Шаг за шагом</a> |
<a href="http://webimg.ru">Графика для Веб</a></p>
</body>
</html>
Результат данного примера показан на рис. 13.5.
Рис. 13.5. Изменение стиля для ссылок, в адресе которых встречается «htmlbook»
Одно из нескольких значений атрибута
Некоторые значения атрибутов могут перечисляться через пробел, например имена классов. Чтобы задать стиль при наличии в списке требуемого значения применяется следующий синтаксис.
[атрибут~=»значение»] { Описание правил стиля }
Селектор[атрибут~=»значение»] { Описание правил стиля }
Стиль применяется в том случае, если у атрибута имеется указанное значение или оно входит в список значений, разделяемых пробелом (пример 13.6).
Пример 13.6. Стиль в зависимости от имени класса
HTML5CSS 2.1IECrOpSa 5Fx
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Блок</title>
<style>
[class~="block"] h4 { color: green; }
</style>
</head>
<body>
<div>
<h4>Заголовок</h4>
</div>
</body>
</html>
В данном примере зелёный цвет текста применяется к селектору h4, если имя класса у слоя задано как block. Отметим, что аналогичный результат можно получить, если использовать конструкцию *= вместо ~=.
Дефис в значении атрибута
В именах идентификаторов и классов разрешено использовать символ дефиса (-), что позволяет создавать значащие значения атрибутов id и class. Для изменения стиля элементов, в значении которых применяется дефис, следует воспользоваться следующим синтаксисом.
[атрибут|=»значение»] { Описание правил стиля }
Селектор[атрибут|=»значение»] { Описание правил стиля }
Стиль применяется к элементам, у которых атрибут начинается с указанного значения или с фрагмента значения, после которого идёт дефис (пример 13.7).
Пример 13.7. Дефисы в значениях
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Блок</title>
<style>
DIV[class|="block"] {
background: #306589; /* Цвет фона */
color: #acdb4c; /* Цвет текста */
padding: 5px; /* Поля */
}
DIV[class|="block"] A {
color: #fff; /* Цвет ссылок */
}
</style>
</head>
<body>
<div>
<h3>Термины</h3>
<div>
<ul>
<li><a href="t1.html">Буквица</a></li>
<li><a href="t2.html">Выворотка</a></li>
<li><a href="t3.html">Выключка</a></li>
<li><a href="t4.html">Интерлиньяж</a></li>
<li><a href="t5.html">Капитель</a></li>
<li><a href="t6.html">Начертание</a></li>
<li><a href="t7.html">Отбивка</a></li>
</ul>
</div>
</div>
</body>
</html>
В данном примере имя класса задано как block-menu-therm, поэтому в стилях используется конструкция |=»block», поскольку значение начинается именно с этого слова и в значении встречаются дефисы.
Все перечисленные методы можно комбинировать между собой, определяя стиль для элементов, которые содержат два и более атрибута. В подобных случаях квадратные скобки идут подряд.
[атрибут1=»значение1″][атрибут2=»значение2″] { Описание правил стиля }
Селектор[атрибут1=»значение1″][атрибут2=»значение2″] { Описание правил стиля }
Вопросы для проверки
1.=»text2″] { color: red; } 3. К какому элементу будет применяться следующий стиль? [class~=»lorem»] { background: #666; } 1. INPUT[type=»text»] { background: #acdacc; } 2. P[class*=»text2″] { color: red; } 3. <div>Lorem ipsum dolor sit amet</div> Устанавливает стиль для элемента в том случае, если значение атрибута оканчивается указанным [атрибут$=»значение»] { Описание правил стиля } E[атрибут$=»значение»] { Описание правил стиля } В первом случае стиль применяется ко всем элементам у которых значение атрибута завершается заданным Пример HTML5CSS 2.1IECrOpSaFx В данном примере содержатся две ссылки, ведущие на разные домены — comОтветы
[атрибут$=»значение»] | htmlbook.ru
Internet Explorer Chrome Opera Safari Firefox Android iOS 7.0+ 1.0+ 3.5+ 1.0+ 1.0+ 1.0+ 1.0+ Версии CSS
Описание
текстом.Синтаксис
текстом. А во втором — только к определенным селекторам.<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Селекторы атрибутов</title>
<style>
a[href$=".ru"] { /* Если ссылка заканчивается на .ru */
background: url(images/ru.png) no-repeat 0 6px; /* Добавляем фоновый рисунок */
padding-left: 12px; /* Смещаем текст вправо */
}
a[href$=".com"] { /* Если ссылка заканчивается на .com */
background: url(images/com.png) no-repeat 0 6px;
padding-left: 12px;
}
</style>
</head>
<body>
<p><a href="http://www.yandex.com">Yandex.Com</a> |
<a href="http://www.yandex.ru">Yandex.Ru</a></p>
</body>
</html>
и ru. При этом к каждой такой ссылке с помощью стилей добавляется своя фоновая
картинка (рис. 1). Стилевые свойства будут добавляться только для тех ссылок, атрибут
href которых оканчивается на «.ru» или «.com».
Заметьте, что добавив к имени домена слэш (http://www.yandex.ru/) или адрес
страницы (http://www.yandex.ru/fun.html), мы изменим тем самым окончание и стиль
применяться уже не будет.
Рис. 1. Добавление картинки к ссылкам
[атрибут|=»значение»] | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
7.0+ | 1.0+ | 3.5+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Версии CSS
Описание
В именах идентификаторов и классов разрешено использовать символ дефиса (-), что позволяет создавать значащие значения атрибутов id и class.
Синтаксис
[атрибут|=»значение»] { Описание правил стиля }
E[атрибут|=»значение»] { Описание правил стиля }
Стиль применяется к элементам, у которых атрибут начинается с указанного значения или с фрагмента значения, после которого идет дефис.
Пример
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Блок</title>
<style>
div[class|="block"] {
background: #306589; /* Цвет фона */
color: #acdb4c; /* Цвет текста */
padding: 5px; /* Поля */
}
div[class|="block"] a {
color: #fff; /* Цвет ссылок */
}
</style>
</head>
<body>
<div>
<h3>Термины</h3>
<div>
<ul>
<li><a href="t1.html">Буквица</a></li>
<li><a href="t2.html">Выворотка</a></li>
<li><a href="t3.html">Выключка</a></li>
<li><a href="t4.html">Интерлиньяж</a></li>
<li><a href="t5.html">Капитель</a></li>
<li><a href="t6.html">Начертание</a></li>
<li><a href="t7.html">Отбивка</a></li>
</ul>
</div>
</div>
</body>
</html>
В данном примере имя класса задано как block-menu-therm, поэтому в стилях используется конструкция |=»block», поскольку значение начинается именно с этого слова и в значении встречаются дефисы.
Селекторы атрибутов
Для изменения стиля элементов содержащих различные параметры, в CSS введены селекторы атрибутов. Они позволяют установить стиль тега по присутствию определенного параметра или его значения.
Замечание: селекторы атрибутов поддерживаются браузером Internet Explorer начиная с версии 7.0, причем для корректной работы примеров необходимо добавить правильный <!DOCTYPE>.
Рассмотрим несколько типичных вариантов применения таких селекторов.
Простой селектор атрибута
Устанавливает стиль для элемента, если задан специфичный атрибут. Его значение в данном случае не важно. Синтаксис применения такого селектора следующий.
[атрибут] { Описание правил стиля } Селектор[атрибут] { Описание правил стиля }
Пробел между именем селектора и квадратными скобками не допускается.
В примере 12.1 показано изменение стиля тега , в том случае, если к нему добавлен параметр title.
Пример 12.1. Вид элемента в зависимости от его параметра
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Селекторы атрибутов</title>
<style type="text/css">
Q {
font-style: italic; /* Курсивное начертание */
quotes: "\00AB" "\00BB"; /* Меняем вид кавычек в цитате */
}
Q[title] {
color: maroon; /* Цвет текста */
}
</style>
</head>
<body>
<p>Продолжая известный закон Мерфи, который гласит: <q>Если неприятность
может случиться, то она обязательно случится</q>, можем ввести свое наблюдение:
<q title="Из законов Фергюсона-Мержевича">После
того, как веб-страница будет корректно отображаться в одном браузере, выяснится,
что она неправильно показывается в другом</q>.</p>
</body>
</html>
Результат примера показан на рис. 12.1
В данном примере меняется цвет текста внутри контейнера 7lt;Q>, когда к нему добавляется параметр title. Обратите внимание, что для селектора Q[title] нет нужды повторять атрибуты, поскольку они наследуются от селектора Q.
Селектор атрибута со значением
Устанавливает стиль для элемента в том случае, если задано определенное значение специфичного параметра. Синтаксис применения следующий.
[атрибут="значение"] { Описание правил стиля } Селектор[атрибут="значение"] { Описание правил стиля }
В первом случае стиль применяется ко всем элементам, которые содержат указанное значение атрибута. А во втором — только к определенным селекторам.
В примере 12.2 показано изменение стиля ссылки в том случае, если тег A содержит параметр target="_blank"
. При этом ссылка будет открываться в новом окне и чтобы показать это, с помощью стилей добавляем небольшой рисунок перед текстом ссылки.
Пример 12.2. Стиль для открытия ссылок в новом окне
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Селекторы атрибутов</title>
<style type="text/css">
A[target="_blank"] {
background: url(blank.gif) no-repeat 0 2px; /* Параметры фонового рисунка */
padding-left: 15px; /* Смещаем текст вправо */
}
</style>
</head>
<body>
<p><a href="link1.html">Обычная ссылка</a> |
<a href="link2" target="_blank">Ссылка в новом окне</a></p>
</body>
</html>
Результат примера показан ниже (рис. 12.2).
В данном примере рисунок к ссылке добавляется с помощью атрибута background
. В его функции входит создание повторяющейся фоновой картинки, но повторение фона можно отменить через аргумент no-repeat
, что в итоге даст единственное изображение.=»значение»] { Описание правил стиля }
В первом случае стиль применяется ко всем элементам, которые начинаются с заданного значения атрибута. А во втором — только к определенным селекторам.
Предположим, что на сайте требуется разделить стиль обычных и внешних ссылок — ссылки, которые ведут на другие сайты. Чтобы не добавлять к тегу A
новый класс, воспользуемся селекторами атрибутов. Внешние ссылки характеризуются добавлением к адресу протокола, например, для доступа к гипертекстовым документам используется протокол HTTP. Поэтому внешние ссылки начинаются с ключевого слова http://, его и добавляем к селектору A
, как показано в примере 12.3.
Пример 12.3. Изменение стиля внешней ссылки
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Селекторы атрибутов</title>
<style type="text/css">
A[href^="http://"] {
font-weight: bold; /* Жирное начертание */
}
</style>
</head>
<body>
<p><a href="link1.html">Обычная ссылка</a> |
<a href="http://htmlbook.ru" target="_blank" rel="nofollow" >Внешняя ссылка на сайт htmlbook.ru</a></p>
</body>
</html>
Результат примера показан ниже (рис. 12.3)
В данном примере внешние ссылки выделяются жирным начертанием. Также можно воспользоваться показанным в примере 12.2 приемом и добавлять к ссылке небольшое изображение, которое будет сообщать, что ссылка ведет на другой сайт.
Атрибут оканчивается определенным значением
Устанавливает стиль для элемента в том случае, если атрибут оканчивается указанным значением. Синтаксис применения следующий.
[атрибут$="значение"] { Описание правил стиля } Селектор[атрибут$="значение"] { Описание правил стиля }
В первом случае стиль применяется ко всем элементам, которые завершаются заданным значением атрибута. А во втором — только к определенным селекторам.
Таким способом можно автоматически разделять стиль для сайтов домена ru и для сайтов других доменов вроде com, как показано в примере 12.4.
Пример 12.4. Стиль для разных доменов
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Селекторы атрибутов</title>
<style type="text/css">
A[href$=".ru"] { /* Если ссылка заканчивается на .ru */
background: url(ru.gif) no-repeat; /* Параметры фонового рисунка */
padding-left: 10px; /* Смещаем текст вправо */
}
A[href$=".com"] { /* Если ссылка заканчивается на .com */
background: url(com.gif) no-repeat;
padding-left: 10px;
}
</style>
</head>
<body>
<p><a href="http://www.yandex.com" rel="nofollow" >Yandex.Com</a> |
<a href="http://www.yandex.ru" rel="nofollow" >Yandex.Ru</a></p>
</body>
</html>
В данном примере содержатся две ссылки, ведущие на разные домены — com
и ru
. При этом к каждой такой ссылке с помощью стилей добавляется свой фоновый рисунок. Стилевые атрибуты будут добавляться только для тех ссылок, параметр href
которых оканчивается на «.ru» или «.com». Заметьте, что добавив к имени домена слэш (http://www.yandex.ru/) или адрес страницы (http://www.yandex.ru/fun.html), мы изменим тем самым окончание и стиль применяться не будет. В этом случае лучше воспользоваться селектором, в котором определенное значение может находиться в любом месте атрибута.
Значение встречается в любом месте атрибута
Возможны варианты, когда стиль следует применить к селектору с определенным атрибутом, частью которого является некоторое значение. При этом точно не известно, начинается или заканчивается этим значением аргумент. Тогда следует использовать следующий синтаксис.
[атрибут*="значение"] { Описание правил стиля } Селектор[атрибут*="значение"] { Описание правил стиля }
Значение может располагаться в любом месте аргумента, например, в начале, в конце или где-то посередине. Главное, что оно является его частью. Так, в примере 12.5 показано изменение стиля ссылок, в которых встречается слово «htmlbook».
Пример 12.5. Стиль для разных сайтов
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Селекторы атрибутов</title>
<style type="text/css">
[href*="htmlbook"] {
background: yellow; /* Желтый цвет фона */
}
</style>
</head>
<body>
<p><a href="http://www.htmlbook.ru/html/" rel="nofollow" >Теги HTML</a> |
<a href="http://stepbystep.htmlbook.ru" rel="nofollow" >Шаг за шагом</a> |
<a href="http://webimg.ru" rel="nofollow" >Графика для Веб</a></p>
</body>
</html>
Результат данного примера показан на рис. 12.4
Существуют и некоторые другие виды селекторов аргументов, но они применяются достаточно редко, поэтому их описание мы опустим.
Ссылка на первоисточник: http://stepbystep.htmlbook.ru/?id=54
Селекторы [АйТи бубен]
Селекторы Основы работы с CSS, jQuery. Селекторами называют специальным образом записанные выражения, позволяющие применить правила форматирования некоторой группе элементов web-страницы:
селектор { свойство: значение; }
Правила форматирования в фигурных скобках записываются с использованием того же синтаксиса, что и при использовании атрибута style. Огромным преимуществом такого подхода по сравнению с внедренными стилями является возможность форматирования сразу группы элементов, имена и атрибуты которых удовлетворяют заданным условиям.
Чувствительность к регистру имён элементов в селекторах зависит от языка документа. Например, в HTML имена элементов нечувствительны к регистру, а в XML — чувствительны к регистру.
Для обозначения универсального селектора применяется символ звездочки (*), который означает, что данное правило будет применяться вообще к любому Html тегу в коде. В общем случае синтаксис следующий
* { Описание правил стиля }
<html> <head> <title>Универсальный селектор</title> <style type="text/css"> * { color:black; / *Цвет текста по умолчанию */ font-family: Aral, Verdana, sans-serif; /* Рубленый шрифт для текста */ font-size: 96%; /* Размер текста */ } </style> </head> <body>
* { margin: 0; padding: 0; }
#main * { border: 2px solid black; }
Одним из наиболее распространенных селекторов является селектор элемента или тип элемента:
h2 { font-size: 14pt; color: #660000; } p { text-align: justify; }
В данном примере используется стиль для заголовков 1го уровня и абзацев документа. Как можно видеть в коде примера, абзацы не содержат выравнивания, однако их содержимое выравнивается по ширине, как то задает стиль для селектора p.
Классы применяются, когда необходимо задать разные стили для одного тега или просто определить стиль для элемента веб-страницы. При использовании совместно с тегами синтаксис для классов будет следующий:
Элемент.КЛАСС { Правила стиля ... }
Используется класс стиля путем указания атрибута class с заданным значением у элементов заданного типа. К примеру, если класс и именем «с1» создан для абзаца (элемент «p»), то его нельзя использовать для форматирования, к примеру, заголовков.
Листинг: Использование классов стиля
p { /* стиль обычного абзаца */ text-align: justify; } p.cite { /* создание класса альтернативного стиля абзаца */ text-align: justify; font-style: italic; font-sise: 8pt; color: #999999; } ... <!-- использование класса --> <p>Селекторами называют ... </p>
Существует так же возможность создать класс стиля не привязанный к конкретному типу элемента. При создании такого стиля просто не указывайте тип элемента, к которому его можно применить:
.КЛАСС { Правила стиля ... }
Таким образом, класс получится универсальным и может быть применен с одинаковым успехом как для абзацев, так и для заголовков и для остальных текстовых элементов страницы.
Что бы присвоить блоку несколько классов напишите их через пробел, например:
<div> Блок с 3-я классами</div>
Атрибут ID задает уникальное имя элемента, которое используется для изменения его стиля. Для назначения стиля элементу с заданным ID используется следующий синтаксис:
#идентификатор { правила форматирования }
После этого любой элемент, имеющий заданный ID примет указанные свойства форматирования. Ограничение состоит в том, что в любом XHTML документе не должны повторятся значения атрибутов ID его элементов, то есть, должна соблюдаться уникальность идентификатора.
Пример. Применение селектора ID
/* селектор в CSS */ #copyright { txt-align: center; font-size: 10pt; font-weight: bold; color: #996633; border-top: 1px dashed black; } <!-- Применение на странице --> <p> © 2012. </p>
Для оптимизации стилевых таблиц и сокращения набираемого кода часто можно использовать группирование селекторов, требующих применения одного и того же набора правил форматирования. Примером таких элементов могут служить элементы <b> и <strong> — оба они размечают текст полужирным шрифтом.
Допустим, вы желаете, чтобы текст, отмеченный одним (любым) из этих элементов был полужирным, темно-красным и имел подчеркивание. В этом случае вам придется воспользоваться следующим набором правил:
b { color: #660000; text-decoration: underline; } strong { color: #660000; text-decoration: underline; }
Или воспользоваться группированием и записать предыдущие стили в более компактной форме:
b, strong { color: #660000; text-decoration: underline; }
Оба варианта одинаково функционируют и не содержат ошибок. Однако второй вариант предпочтительнее к использованию, так как является более лаконичным и легче модифицируется при необходимости.
Группирование селекторов можно применить и в таком контексте: допустим, необходимо задать заголовкам всех уровней одинаковые свойства font-family, text-align и color и сделать их отличающимися только размерами текста:
/* Общие свойства */ h2, h3, h4, h5, h5, h6 { font-family: Tahoma; text-align: Center; color: navy; } /* Индивидуальные свойства */ h2 { font-size: 18pt; } h3 { font-size: 16pt; } h4 { font-size: 14pt; }
Селекторы по иерархии, или контекстные селекторы, позволяют задавать правила оформления элементов, с учетом их места в общей иерархии элементов страницы, то есть — с учетом контекста. Так, например, можно по разному представлять обыкновенные абзацы и абзацы, вложенные в ячейки таблицы, простые гиперссылки и гиперссылки основного меню страницы и т.д.
При этом, не играет никакой роли, является ли элемент прямым потомком родителя или же нет. При создани контекстных селекторов, родительские селекторы перечисляются, разделяясь пробелом, от родителей к потомкам.
Псевдоклассы используются в CSS чтобы применять к элементам разные процедуры форматирования. Синтаксис использования псевдоклассов следующий:
селектор:псевдокласс { property: value; }
Существуют следующие псевдоклассы:
active — Активная ссылка. Цвет ссылки меняется при нажатии на ней кнопки мыши.
link — Непосещенная ссылка.
hover — Ссылка при наведенном курсоре мыши.
focus
visited — Посещенная ссылка.
first-letter — Определяет стиль для первого символа текстового блока.
first-line — Устанавливает стиль для первой строки текстового блока.
after
before
Первые 4 псевдокласса применяются исключительно к гиперссылкам и задают формат гиперссылки в зависимости от ее состояния. Последующие 2 — к любому текстовому блоку.
Использование псевдоклассов для гиперссылок позволяет добиться довольно интересных эффектов. Таких, например, как создание ролловеров. Для этого можно задействовать стиль для класса элемента <a> и его псевдокласса hover:
Листинг: Псевдоклассы гиперссылок
/* Стилевые правила */ a.rollover { color: #660000; text-decoration: none; } a.rollover:hover { color: #FF0000; text-decoration: underline; } <!-- Применение в HTML --> <a href="#">Ссылка-ролловер</a><br /> <a href="#">Обычная гиперссылка</a> <br />
Листинг: Unicode символы как иконки
<style> .icon-test:before { content: "♒ "; } .icon-test:after { content: " \2652"; } </style> </head> <body> <span>Aquarius</span><button>♒ ♒</button>
p:first-letter{ font-size:5em; color:#d30; } p:first-line{ font-size:2em; color:#69c; } p:before{ content:"Начало параграфа "; font-size:3em; color:#f30; } p:after{ content:" Окончание параграфа"; font-size:3em; color:#69c; } a:after{ content:" [" attr(href) "]"; }
Селекторы служат для отбора элементов DOM. jQuery полностью совместима со спецификацией Основы работы с CSS3. jQuery не зависит от реализации CSS в браузере, если в нем нет корректной реализации селекторов CSS jQuery все равно будет отбирать элементы в соответствии с правилами W3C.
jQuery позволяет объединять несколько селекторов в одно выражение.
Селекторы и тег table.
%PDF-1.4
%
2 0 obj
>
endobj
3 0 obj
>
endobj
4 0 obj
>
endobj
5 0 obj
>
endobj
6 0 obj
>
endobj
7 0 obj
>
endobj
8 0 obj
>
endobj
9 0 obj
>
endobj
10 0 obj
>
endobj
11 0 obj
>
endobj
12 0 obj
>
endobj
13 0 obj
>
endobj
14 0 obj
>
endobj
15 0 obj
>
endobj
16 0 obj
>
endobj
17 0 obj
>
endobj
18 0 obj
>
endobj
19 0 obj
>
endobj
20 0 obj
>
endobj
21 0 obj
>
endobj
22 0 obj
>
endobj
23 0 obj
>
endobj
24 0 obj
>
endobj
25 0 obj
>
endobj
26 0 obj
>
endobj
27 0 obj
>
endobj
28 0 obj
>
endobj
29 0 obj
>
endobj
30 0 obj
>
endobj
31 0 obj
>
endobj
32 0 obj
>
endobj
33 0 obj
>
endobj
34 0 obj
>
endobj
35 0 obj
>
endobj
36 0 obj
>
endobj
37 0 obj
>
endobj
38 0 obj
>
endobj
39 0 obj
>
endobj
40 0 obj
>
endobj
41 0 obj
>
endobj
42 0 obj
>
endobj
43 0 obj
>
endobj
44 0 obj
>
endobj
45 0 obj
>
endobj
46 0 obj
>
endobj
47 0 obj
>
endobj
48 0 obj
>
endobj
49 0 obj
>
endobj
50 0 obj
>
endobj
51 0 obj
>
endobj
52 0 obj
>
endobj
53 0 obj
>
endobj
54 0 obj
>
endobj
55 0 obj
>
endobj
56 0 obj
>
endobj
57 0 obj
>
endobj
58 0 obj
>
endobj
59 0 obj
>
endobj
60 0 obj
>
endobj
61 0 obj
>
endobj
62 0 obj
>
endobj
63 0 obj
>
endobj
64 0 obj
>
endobj
65 0 obj
>
endobj
66 0 obj
>
endobj
67 0 obj
>
endobj
68 0 obj
>
endobj
69 0 obj
>
endobj
70 0 obj
>
endobj
71 0 obj
>
endobj
72 0 obj
>
endobj
73 0 obj
>
endobj
74 0 obj
>
endobj
75 0 obj
>
endobj
76 0 obj
>
endobj
77 0 obj
>
endobj
78 0 obj
>
endobj
79 0 obj
>
endobj
80 0 obj
>
endobj
81 0 obj
>
endobj
82 0 obj
>
endobj
83 0 obj
>
endobj
84 0 obj
>
endobj
85 0 obj
>
endobj
86 0 obj
>
endobj
87 0 obj
>
endobj
88 0 obj
>
endobj
89 0 obj
>
endobj
90 0 obj
>
endobj
91 0 obj
>
endobj
92 0 obj
>
endobj
93 0 obj
>
endobj
94 0 obj
>
endobj
95 0 obj
>
endobj
96 0 obj
>
endobj
97 0 obj
>
endobj
98 0 obj
>
endobj
99 0 obj
>
endobj
100 0 obj
>
endobj
101 0 obj
>
endobj
102 0 obj
>
endobj
104 0 obj [/Pattern /DeviceRGB]
endobj
105 0 obj
[]
endobj
107 0 obj
>stream
x][۸~q; rnEP H}(Pd.Fn=?6+?5!~CY»-zh2cZb78x[Z/Bk}q2YHg[NXP%5tGf
s{PgޔuHv.(agxFV»%\ͩ;-jV*cLyʚ]&8;Xv%e[cX!!qe#tFSɷ*flx*,Vt]ʁW1P6)nMյõ~_»
CSS — [атрибут*=»значение»]
Возможны варианты, когда стиль следует применить к тегу с определённым атрибутом, когда частью его значения является некоторый текст. При этом точно не известно, в каком месте значения включён данный текст — в начале, середине или конце. В подобном случае следует использовать конструкцию *=. Она определяет, что значение атрибута содержит указанный текст.
Синтаксис ?
[<атрибут>*="<значение>"] { Описание правил стиля } E[<атрибут>*="<значение>"] { Описание правил стиля }
✖
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Пример
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Селекторы атрибутов</title> <style> [href*="htmlbook"] { background: yellow; /* Жёлтый цвет фона */ } </style> </head> <body> <p><a href="http://www.htmlbook.ru/html/">Теги HTML</a> | <a href="http://stepbystep.htmlbook.ru">Шаг за шагом</a> | <a href="http://webimg.ru">Графика для Веб</a></p> </body> </html>
В примере показано изменение стиля ссылок, в атрибуте href которых встречается слово «htmlbook».
Спецификация ?
✖
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры: Настольные Мобильные
?
Internet Explorer | Chrome | Opera | Safari | Firefox |
7 | 1 | 9 | 3 | 1 |
Android | Firefox Mobile | Opera Mobile | Safari Mobile |
1 | 1 | 9 | 3 |
✖
Браузеры
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
Селекторы атрибутов
— CSS: каскадные таблицы стилей
Селектор атрибута CSS сопоставляет элементы на основе наличия или значения данного атрибута.
Заголовок] {
цвет: фиолетовый;
}
a [href = "https://example.org"] {
цвет: зеленый;
}
a [href * = "example"] {
размер шрифта: 2em;
}
a [href $ = ". org"] {
стиль шрифта: курсив;
}
a [class ~ = "logo"] {
отступ: 2 пикселя;
}
-
[ attr ]
- Представляет элементы с именем атрибута attr .
-
[ attr = value ]
- Представляет элементы с именем атрибута attr , значение которого точно равно значению .
-
[ attr ~ = значение ]
- Представляет элементы с именем атрибута attr , значение которого представляет собой список слов, разделенных пробелами, одно из которых точно соответствует значению .
-
[ attr | = значение ]
- Представляет элементы с именем атрибута attr , значение которого может быть точно , значением или может начинаться со значения , сразу за которым следует дефис,
–
(U + 002D).= значение ]- Представляет элементы с именем атрибута attr , значению которого предшествует префикс , значение .
[ attr $ = значение ]
- Представляет элементы с именем атрибута attr , значение которого имеет суффикс (за которым следует) значение .
[ attr * = значение ]
- Представляет элементы с именем атрибута attr , значение которого содержит по крайней мере одно вхождение значения в строке.
[ attr оператор значение i]
- Добавление
i
(илиI
) перед закрывающей скобкой приводит к тому, что значение сравнивается без учета регистра (для символов в диапазоне ASCII).[ attr operator value s]
Это экспериментальный API, который не следует использовать в производственном коде.- Добавление
s
(илиS
) перед закрывающей скобкой приводит к тому, что значение сравнивается с учетом регистра (для символов в диапазоне ASCII).= «https»] [href $ = «. org»] {
цвет: зеленый;
}
HTML
Результат
Языки
CSS
div [lang] { font-weight: жирный; } div: not ([lang]) { стиль шрифта: курсив; } div [lang ~ = "en-us"] { цвет синий; } div [lang = "pt"] { цвет: зеленый; } div [lang | = "zh"] { красный цвет; } div [data-lang = "zh-TW"] { цвет: фиолетовый; }
HTML
Привет, мир!Olá Mundo!您好!您好!世界 您好!Результат
Упорядоченные списки HTML
Спецификация HTML требует, чтобы атрибут
типа
сопоставлялся без учета регистра, поскольку он в основном используется в элементетипа
объекта упорядоченный список не работает без модификатора с учетом регистра.CSS
ol [type = "a"] { список-стиль-тип: нижняя альфа; фон: красный; } ol [type = "a" s] { список-стиль-тип: нижняя альфа; фон: салатовый; } ol [type = "A" s] { тип-стиль-список: верхняя альфа; фон: салатовый; }
HTML
- Примерный список
Результат
Таблицы BCD загружаются только в браузере
Селектор атрибутов CSS
Стили для HTML-элементов с определенными атрибутами
Можно стилизовать элементы HTML, которые имеют определенные атрибуты или значения атрибутов.
CSS [атрибут] Селектор
Селектор
[атрибут]
используется для выбора элементов с указанным
атрибут.В следующем примере выбираются все элементы с целевым атрибутом:
CSS [attribute = «value»] Селектор
Селектор
[attribute = "value"]
используется для выбора элементов с указанным
атрибут и значение.В следующем примере выбираются все элементы с атрибутом target = «_ blank»:
CSS [attribute ~ = «value»] Селектор
Селектор
[attribute ~ = "value"]
используется для выбора элементов с атрибутом
значение, содержащее указанное слово.В следующем примере выбираются все элементы с атрибутом title, который
содержит список слов, разделенных пробелами, одно из которых — «цветок»:В приведенном выше примере будут найдены элементы с title = «flower», title = «summer».
flower «и title =» flower new «, но не title =» my-flower «или title =» flowers «.CSS [атрибут | = «значение»] Селектор
Селектор
[attribute | = "value"]
используется для выбора элементов с указанным атрибутом, начиная с указанного значения.= «value»] Селектор используется для выбора элементов, атрибут
значение начинается с указанного значения.В следующем примере выбираются все элементы со значением атрибута класса, начинающимся с «top»:
Примечание: Значение не обязательно должно быть целым словом!
CSS [attribute $ = «value»] Селектор
Селектор
[attribute $ = "value"]
используется для выбора элементов, атрибут
значение заканчивается указанным значением.В следующем примере выбираются все элементы со значением атрибута класса, которое
заканчивается на «test»:Примечание: Значение не обязательно должно быть целым словом!
CSS [атрибут * = «значение»] Селектор
Селектор
[атрибут * = "значение"]
используется для выбора элементов, атрибут
value содержит указанное значение.В следующем примере выбираются все элементы со значением атрибута класса, которое
содержит «te»:Примечание: Значение не обязательно должно быть целым словом!
Формы для укладки
Селекторы атрибутов могут быть полезны для стилизации форм без класса или ID:
Пример
ввод [тип = «текст»]
{
ширина: 150 пикселей;дисплей: блок;
нижнее поле: 10 пикселей;
цвет фона: желтый;
}input [type = «button»]
{
ширина: 120 пикселей;
маржа слева: 35 пикселей;
дисплей: блок;
}Попробуй сам »
Совет: Посетите наше руководство по CSS Forms Tutorial, чтобы узнать больше примеров того, как стилизовать формы с помощью CSS. = «https»]
Выбирает каждый элемент , значение атрибута href которого начинается с https. [ атрибут $ = значение ] а [href $ = «.pdf »] Выбирает каждый элемент , значение атрибута href которого заканчивается на «.pdf» [ атрибут * = значение ] a [href * = «w3schools»] Выбирает каждый элемент , значение атрибута href которого содержит подстроку «w3schools». Работа с селекторами атрибутов CSS
Селектор атрибутов выбирает элементы HTML, которые имеют определенный атрибут или атрибут с указанным значением.
Селекторы атрибутов
Селекторы атрибутов CSS предоставляют простой и эффективный способ применения стилей к элементам HTML на основе наличия определенного атрибута или значения атрибута.
Вы можете создать селектор атрибутов, поместив атрибут — необязательно со значением — в пару квадратных скобок. Вы также можете поместить перед ним селектор типа элемента.
В следующих разделах описаны наиболее распространенные селекторы атрибутов.
CSS [атрибут] Селектор
Это простейшая форма селектора атрибутов, который применяет правила стиля к элементу, если данный атрибут существует. Например, мы можем стилизовать все элементы с атрибутом
title
, используя следующие правила стиля:Селектор
[заголовок]
в приведенном выше примере соответствует всем элементам, имеющим атрибутзаголовок
.Вы также можете ограничить этот выбор конкретным элементом HTML, поместив селектор атрибутов после селектора типа элемента, например:
abbr [название] { красный цвет; }
Селектор
abbr [title]
соответствует только элементамtitle
, поэтому он соответствует сокращению, но не элементам привязки, имеющим атрибутtitle
.CSS [attribute = «value»] Селектор
Вы можете использовать оператор
=
, чтобы селектор атрибутов соответствовал любому элементу, значение атрибута которого точно равно заданному значению:input [type = "submit"] { граница: сплошной зеленый 1px; }
Селектор в приведенном выше примере соответствует всем элементам
типа
со значением, равнымsubmit
.CSS [attribute ~ = «value»] Селектор
Вы можете использовать оператор
~ =
, чтобы селектор атрибутов соответствовал любому элементу, значение атрибута которого представляет собой список значений , разделенных пробелами (например,class = "alert warning"
), одно из которых в точности равно указанное значение:[class ~ = "warning"] { цвет: #fff; фон: красный; }
Этот селектор соответствует любому элементу HTML с атрибутом
класса
, который содержит значения, разделенные пробелами, одним из которых являетсяпредупреждение
.Например, он соответствует элементам, имеющим значения классапредупреждение
,предупреждение предупреждение
и т. Д.CSS [атрибут | = «значение»] Селектор
Вы можете использовать оператор
| =
, чтобы селектор атрибутов соответствовал любому элементу, атрибут которого имеет разделенных дефисами список значений , начинающийся с указанного значения:[lang | = en] { цвет: #fff; фон: синий; }
Селектор в приведенном выше примере соответствует всем элементам с атрибутом
lang
, содержащим значение, начинающееся си
, независимо от того, следует ли за этим значением дефис и другие символы.= «http: //»] {
фон: url («external.png») 100% 50% без повтора;
отступ справа: 15 пикселей;
}Селектор в приведенном выше примере нацелен на все внешние ссылки и добавит небольшой значок, указывающий, что они откроются в новой вкладке или окне.
CSS [attribute $ = «value»] Селектор
Аналогичным образом можно использовать оператор
$ =
для выбора всех элементов, значение атрибута которых заканчивается на , указанное значение.Это не обязательно должно быть целое слово.a [href $ = ". Pdf"] { фон: url ("pdf.png") 0 50% без повтора; отступ слева: 20 пикселей; }
Селектор в приведенном выше примере выбирает все элементы
CSS [атрибут * = «значение»] Селектор
Вы можете использовать оператор
* =
, чтобы селектор атрибутов соответствовал всем элементам, значение атрибута которых содержит указанное значение.[class * = "warning"] { цвет: #fff; фон: красный; }
Этот селектор в приведенном выше примере соответствует всем элементам HTML с атрибутом
класса
, значения которого содержатпредупреждение
.Например, он соответствует элементам, имеющим значения классаwarning
,alert warning
,alert-warning
илиalert_warning
и т. Д.Стилизация форм с переключателями атрибутов
Селекторы атрибутов особенно полезны для стилизации форм без
class
илиid
:input [type = "text"], input [type = "password"] { ширина: 150 пикселей; дисплей: блок; нижнее поле: 10 пикселей; фон: желтый; } input [type = "submit"] { отступ: 2px 10px; граница: 1px solid # 804040; фон: # ff8040; }
[атрибут] | CSS-уловки
Есть много способов выбора элементов в CSS.Самый простой выбор осуществляется по имени тега, например
p {}
. Почти все, что более конкретно, чем селектор тегов, использует атрибуты —class
иID
оба выбирают эти атрибуты в элементах HTML. Ноclass
иID
— не единственные атрибуты, которые могут выбрать разработчики. Мы можем использовать любых атрибутов элемента в качестве селекторов.Выбор атрибута имеет особый синтаксис. Вот пример:
a [href = "https: // css-tricks.com "] { цвет: # E18728; }
Это селектор с точным соответствием , который будет выбирать только ссылки с точным значением атрибута
href
«https://css-tricks.com».Семь различных типов
Селекторы атрибутов по умолчанию чувствительны к регистру (см. Сопоставление без учета регистра ниже) и записываются внутри скобок
[]
.Существует семь различных типов совпадений, которые можно найти с помощью селектора атрибутов, и для каждого из них используется свой синтаксис. = «foo»] {
/ * Значение атрибута начинается с этого * /
}[значение-данных | = «foo»] {
/ * Значение атрибута начинается с этого в списке, разделенном тире * /
}[data-value $ = «foo»] {
/ * Значение атрибута заканчивается этим * /
}Значение содержит: значение атрибута содержит термин как единственное значение, значение в списке значений или как часть другого значения.Чтобы использовать этот селектор, добавьте звездочку (*) перед знаком равенства. Например,
img [alt * = "art"]
выберет изображения с альтернативным текстом «abstract art » и «спортсмен , начинающий новый вид спорта», потому что значение «art» находится в слове «start» ».Значение находится в списке, разделенном пробелами: значение является либо единственным значением атрибута, либо целым значением в наборе значений, разделенных пробелами. В отличие от селектора «содержит», этот селектор не будет искать значение как фрагмент слова.= «Искусство»] выберет изображения с альтернативным текстом «арт-шоу» и «художественный узор», но не изображения с альтернативным текстом «Артур Миллер», потому что «Артур» начинается с заглавной буквы.
Значение стоит первым в списке, разделенном тире: Этот селектор очень похож на селектор «начинается с». Здесь селектор соответствует значению, которое является либо единственным значением, либо первым в списке значений, разделенных тире. Чтобы использовать этот селектор, добавьте вертикальную черту (|) перед знаком равенства.Например,
li [data-years | = "1900"]
выберет элементы списка со значениемdata-years
«1900-2000», но не элемент списка со значениемdata-years
« 1800-1900 ».Значение заканчивается на: значение атрибута заканчивается выбранным термином. Чтобы использовать этот селектор, добавьте знак доллара ($) перед знаком равенства. Например,
a [href $ = "pdf"]
выбирает каждую ссылку, которая заканчивается на .pdf.Примечание о кавычках: В некоторых случаях значение можно обойти без кавычек, но правила выбора без кавычек несовместимы в разных браузерах.Цитаты работают всегда, поэтому, если вы будете их использовать, можете быть уверены, что ваш селектор сработает.
См. Селекторы атрибутов пера от CSS-Tricks (@ css-tricks) на CodePen.
Интересный факт: значения обрабатываются как строки, поэтому вам не нужно делать какие-либо причудливые экранирования символов, чтобы они совпадали, как если бы вы использовали необычные символы в селекторе классов или идентификаторов.
[class = "(╯ ° □ °) ╯︵ ┻━┻"] { красный цвет; font-weight: жирный; }
Сопоставление без учета регистра
Селекторы атрибутов без учета регистра являются частью спецификации уровня 4 селекторов рабочей группы CSS.Как упоминалось выше, строки значений атрибутов по умолчанию чувствительны к регистру, но их можно изменить на нечувствительность к регистру, добавив
i
непосредственно перед закрывающей скобкой:[attribute = "value" i] { / * Стили здесь будут применяться к элементам с: attribute = "значение" attribute = "VaLuE" attribute = "VALUE" ...так далее * / }
Сопоставление без учета регистра может быть действительно удобным для нацеливания на атрибуты, содержащие непредсказуемый, написанный человеком текст.Например, предположим, что вы создаете речевой пузырь в приложении чата и хотите добавить «машущую руку» к любым сообщениям с текстом «привет» в той или иной форме. Вы можете сделать это только с помощью CSS, используя сопоставление без учета регистра, чтобы уловить все возможные варианты:
См. Сопоставление атрибутов CSS без учета регистра в ручке с помощью CSS-Tricks (@ css-tricks) на CodePen.
Объединяя их
Вы можете комбинировать селектор атрибутов с другими селекторами, такими как тег, класс или идентификатор.
div [attribute = "value"] { / * здесь правила стиля * / } .модуль [атрибут = "значение"] { / * здесь правила стиля * / } #header [attribute = "value"] { / * здесь правила стиля * / }
Или даже комбинируйте несколько селекторов атрибутов. В этом примере выбираются изображения с замещающим текстом, который включает слово «человек» в качестве единственного значения или значение в списке, разделенном пробелами, и — значение
src
, которое включает значение «lorem»:img [alt ~ = "person"] [src * = "lorem"] { / * здесь правила стиля * / }
См. Комбинированные атрибуты пера и выбор только атрибутов с помощью CSS-Tricks (@ css-tricks) на CodePen.
Селекторы атрибутов в JavaScript и jQuery
Селекторы атрибутов могут использоваться в jQuery, как и любой другой селектор CSS. В JavaScript вы можете использовать селекторы атрибутов с
document.querySelector ()
иdocument.querySelectorAll ()
.См. Селекторы атрибутов пера в JS и jQuery от CSS-Tricks (@ css-tricks) на CodePen.
Связанные
Дополнительная информация
Поддержка браузера
Хром Safari Firefox Opera IE Android iOS Любая Любая Любая Любые 7+ Любая Любая 11 селекторов CSS, которые вы должны знать.CSS — это не только .class и # id… | Джонатан Саринг
CSS — это не только селекторы .class и #id. Познакомьтесь с более полезными селекторами CSS с примерами.
Итак, CSS использует селекторы для нацеливания и стилизации определенных элементов или групп элементов в документе HTML. Мы все это знаем, и часто для достижения результатов достаточно работать всего с несколькими базовыми селекторами.
Но… иногда с немного большим, чем просто базовый CSS, мы можем добиться лучших результатов. Мы можем достичь цели быстрее и в основном просто упростить поддержку вашего CSS в будущем.
Итак, я собрал небольшой список селекторов и групп селекторов, которые вы можете добавить в свой арсенал. К ним относятся селекторы уровня новичков, а также продвинутые. Возможно, вы уже знаете кое-что, может быть, большинство, может быть, все. Никогда не помешает освежиться.
Не стесняйтесь предлагать более полезные селекторы или методы в комментариях ниже (с полным форматированным объяснением), и я добавлю их в список. Наслаждайтесь 📝
Хорошо, прежде чем мы перейдем к более сложным и интересным вещам, давайте быстро рассмотрим основы.Селектор элементов позволяет выбрать и применить стиль ко всем элементам с одним и тем же указанным именем элемента.
Полезно применять стили ко многим элементам одной и той же функциональности, не используя класс для каждого. Но это может противоречить более конкретным правилам.
Выбор всех элементов абзаца HTML выглядит следующим образом:
p {
background-color: yellow;
}Обратите внимание, что вы можете группировать элементы, используя селектор группировки, который выбирает все элементы с указанными определениями стилей.Поэтому вместо этого…
h2 {
выравнивание текста: центр;
цвет: красный;
} h3 {
выравнивание текста: по центру;
цвет: красный;
} p {
text-align: center;
цвет: красный;
}Вы можете это сделать.
h2, h3, p {
выравнивание текста: по центру;
цвет: красный;
}Селектор id — это еще один базовый селектор, который позволяет применять стиль ко всем указанным элементам с выбранным идентификатором. Естественно, это узкоспециализированный селектор, который превосходит более общие селекторы.Он использует #, за которым следует указанный идентификатор, чтобы применить правила стиля ко всем элементам с совпадающим идентификатором.
Выбор всех элементов с идентификатором
dog
выглядит так:#dog {
background-color: purple;
}Эта простота — палка о двух концах, и ее не следует использовать слишком часто, так как это может сделать кошмаром дальнейшую поддержку вашего CSS. Поэтому лучше применять классы и более абстрактную логику, чем создавать множество # id.
Селектор классов CSS, вероятно, является наиболее часто используемым селектором.Он применяет стиль ко всем элементам с указанным атрибутом класса. Это отличный способ настроить применение правил CSS, создав атрибуты, которые можно применить к любому элементу, чтобы придать ему определенный стиль. Вы можете узнать больше здесь.
Выбор всех элементов
li
с классомroomy
выглядит так:li.roomy {
margin: 2em;
}Селектор атрибутов CSS позволяет выбирать все элементы по имени или значению данного атрибута. Крис Койер приводит прекрасный пример, в котором эта строка HTML имеет атрибут
rel
со значением"friend"
.Дэвид Уолш
Используя селектор атрибутов CSS, вы можете выбрать эту строку на основе этого значения атрибута
rel
. Это выглядит так:h3 [rel = "friend"] {
цвет: фиолетовый;
}Это очень полезно для выбора таких элементов, как входы, которые могут иметь много разных типов, поэтому, используя этот селектор, вы можете, например, выбирать только элементы «флажка». Это выглядит так.
input [type = "checkbox"] {
цвет: фиолетовый;
}Или вы можете использовать его для выбора всех изображений на основе заданного источника.
a [href = "https://blog.bitsrc.io"] {
цвет: фиолетовый;
}Последнее важное замечание: вы можете поиграть с операторами селектора, так что, например, «* =» на самом деле означает «выбрать, появляется ли следующее значение где-нибудь внутри значения атрибута целевого элемента». Прочтите этот пост A +.
Селектор потомков является первым из семейства комбинированных селекторов CSS.
Это семейство позволяет смешивать простые селекторы с заданной логикой.Селектор потомков — это то, как вы можете применять стили ко всем элементам, которые являются потомками указанного элемента.
Выбор всех
элементов, вложенных в
элементов, выглядит следующим образом.div h2 {
цвет фона: фиолетовый;
}И вы можете связать их. Итак, чтобы выбрать все элементы
- элементов внутри
элементов, вы можете сделать это:ul li a {
background-color: purple;
}И вы можете смешать его с
.селекторы класса
для выбора элементов с определенным классом, которые находятся внутри других элементов. Это действительно безгранично.li .class {
цвет фона: пурпурный;
}Дочерний селектор — еще один член семейства комбинированных селекторов. Он позволяет вам выбирать и применять стили ко всем элементам, которые являются дочерними по отношению к указанному элементу. Отличным примером того, почему это полезно, могут быть вложенные элементы.
Например, если у вас есть
- , в котором есть некоторые элементы, а внутри этих элементов есть новые
- , которые являются 7-м дочерними элементами
своих родительских элементов.li: nth-of-type (7) {
цвет: пурпурный;
}Селектор
: nth-child ( n )
соответствует всем элементам, которые являются n -м дочерним элементом своих родителей, независимо от типа. Так, например, следующий CSS выберет все вторые дочерние элементы всех- элементов - независимо от типа.
ul: nth-child (2) {
цвет: фиолетовый;
}Конечно, вы также можете связать их таким образом.
div: nth-of-type (3) p: nth-of-child (2) {
цвет: фиолетовый;
} / * Обратите внимание, что это может не привести к тому же результату, что и: div: nth-of-type (3) p: nth-of-type (2) {
color: purple;
} / * Потому что в первом вы выбираете второго дочернего элемента любого типа в третьем div, а во втором вы выбираете второйв третьем div.
Таким образом, каждый интерфейсный разработчик знает, что это быстрый способ сбросить все стили браузера по умолчанию.В основном люди думают об этом в этом контексте.
* {
маржа: 0;
отступ: 0;
}См. Также: «Использование звездочки CSS для обнуления полей и отступов».
Но на самом деле селектор * соответствует всем элементам в DOM. Фактически, вы уже используете звездочку, даже не подозревая об этом. Когда вы используете другие селекторы, такие как
класс
илиэлемент
, они уже подразумевают звездообразный селектор. Итак, это:ul {}
Парсер действительно это видит.
* ul {}
И если вы хотите сделать все возможное, вы можете добавить, что граница
* {
маржа: 0;
отступ: 0;
граница: 0;
контур: 0;
}Но имейте в виду, что у этого метода есть потенциальные недостатки, в основном связанные с проблемами производительности и отсутствием полезных стилей браузера по умолчанию.
CSS-селекторов
CSS-селекторов
Вернуться на страницу класса 4 »
Ниже приводится список наиболее распространенных и хорошо поддерживаемых селекторов CSS.Их много, гораздо больше, но это те, которые вам следует хорошо знать.
Селектор типа элемента
Самыми простыми селекторами CSS являются селекторы типов элементов. Это красивое название для простого с использованием HTML-тега, без угловых скобок.
Мы уже широко использовали этот селектор.
Например, если мы хотим, чтобы все абзацы имели зеленый текст, мы бы использовали следующее правило CSS:
p {цвет: зеленый; }
Селекторы потомков
Соответствует элементу, являющемуся потомком другого элемента.
Здесь используются два отдельных селектора, разделенных пробелом.
Например, если мы хотим, чтобы весь выделенный текст в наших абзацах был зеленым текстом, мы бы использовали следующее правило CSS:
п эм {цвет: зеленый; }
Селекторы классов
Соответствует элементу указанного класса.
Чтобы соответствовать определенному атрибуту
класса
, мы всегда начинаем селектор с точки, чтобы обозначить, что мы ищем значение классаНапример, если мы хотим, чтобы все элементы с классом «подсветка» имели другой цвет фона, мы бы использовали следующее правило CSS:
.highlight {цвет фона: #ffcccc; }
Селекторы идентификаторов
Соответствует элементу с указанным идентификатором.
Чтобы соответствовать определенному атрибуту
id
, мы всегда начинаем селектор с символа решетки (#), чтобы обозначить, что мы ищем значениеid
.За хешем следует значение атрибута id, которое мы хотим сопоставить. Помните, что мы можем использовать одно и то же значение атрибутаid
только один раз, поэтому селектор id всегда будет соответствовать только одному элементу в нашем документе.Например, если нам нужен элемент с идентификатором «content» , мы должны использовать следующее правило CSS:
#content {border: 2px сплошной зеленый; }
Дочерний селектор
Соответствует элементу, который является непосредственным потомком другого элемента.
Например, если мы хотим, чтобы весь выделенный текст в наших абзацев имел зеленый текст, , но не выделенный текст в других элементах , мы бы использовали следующее правило CSS:
p> em {цвет: зеленый; }
Примечание: этот селектор не работает в Internet Explorer 6
Селекторы соседних братьев и сестер
Соответствует элементу, который находится сразу после другого элемента, но не является его дочерним элементом.
Например, если мы хотим, чтобы все абзацы, следующие сразу за h5 , имели зеленый текст, , но не другие абзацы , мы бы использовали следующее правило CSS:
h5 + p {цвет: зеленый; }
Примечание: этот селектор не работает в Internet Explorer 6
Псевдоселекторы
Немного о состояниях ссылок
Анкерные элементы специальные.Вы можете стилизовать элемент с помощью селектора типа элемента, но он может делать не совсем то, что вы ожидаете. Это потому, что ссылки имеют разные состояния, которые связаны с тем, как они взаимодействуют. Четыре основных состояния ссылки: ссылка, посещение, наведение, активность.
Псевдо-селекторы бывают разных размеров и форм. Безусловно, наиболее распространенные псевдоселекторы используются для стилизации наших ссылок. В сочетании со ссылками можно использовать четыре различных псевдоселектора:
- : ссылка
- Ссылка, которую ранее не посещали (посещение определяется историей браузера)
- : посетил
- Посещенная ссылка
- : парение
- Ссылка, по которой курсор мыши «зависает» над
- : активный
- Ссылка, по которой в данный момент нажимают
a: link {color: red} / * непосещенные ссылки * / a: посещенные {color: blue} / * посещенные ссылки * / a: hover {color: green} / * пользователь наводит курсор * / a: active {color: lime} / * активные ссылки * /
По причинам совместимости с браузером вы всегда должны указывать псевдоселекторы в этом порядке.Легкий способ запомнить это - использовать мнемонику: « L o V e HA !».
Примечание. Устройства с сенсорным экраном не имеют состояния наведения. См. No Hover от Трента Уолтона для получения дополнительной информации об этом интересном затруднительном положении.
Вы можете узнать больше о других типах псевдоселекторов на странице sitepoint.
Универсальный селектор
Соответствует каждому элементу на странице.
Например, если мы хотим, чтобы каждый элемент имел сплошную границу шириной 1 пиксель, мы бы использовали следующее правило CSS:
* {border: 1px сплошной синий;}
По причинам, которые, вероятно, очевидны после предыдущего примера, вы должны быть осторожны с универсальными селекторами.Когда вы можете захотеть их использовать?
Ответ: не часто. Но примером может быть установка полей и отступов для всех элементов на странице равными нулю. Вскоре мы узнаем лучший способ сделать это.
* { маржа: 0; отступ: 0; }
Дополнительное чтение
Вот несколько статей с дополнительной информацией о селекторах CSS.
Вернуться на страницу класса 4 »
CSS | Селектор атрибутов - GeeksforGeeks
CSS | Селектор атрибутов
Селектор атрибутов CSS используется для выбора элемента с определенным атрибутом или значением атрибута.Это отличный способ стилизовать элементы HTML, сгруппировав их на основе определенных атрибутов, и селектор атрибутов выберет эти элементы с похожими атрибутами.
Существует несколько типов селекторов атрибутов, которые обсуждаются ниже:- [атрибут] Селектор: Этот тип селектора атрибутов используется для выбора всех элементов, имеющих указанный атрибут, и применяет свойство CSS к этому атрибуту. Например, селектор [класс] выберет все элементы с атрибутом стиля.
Пример:
<
html
>
000
title
> Селектор атрибутов
title
>
<
style
>
[class] {
center;
Цвет: зеленый;
}
.gfg {
font-size: 40px;
font-weight: жирный;
нижнее поле: -20 пикселей;
}
стиль
>
головка
>
<
div
класс
=
"gfg"
> GeeksforGeeks
div
>
geeks "
> Портал информатики для вундеркиндов
p
>
body
>
7
html>
308Вывод:
Этот селектор используется для ограничения некоторых конкретных эл. элементов, то необходимо указать этот элемент перед селектором атрибутов.
Пример:<
html
>
title
> Селектор атрибутов
title
>
<
style
>
div [style] {
center;
цвет: зеленый;
font-size: 40px;
font-weight: жирный;
нижнее поле: -20 пикселей;
}
p {
выравнивание текста: по центру;
font-size: 17px;
}
стиль
>
головка
>
<
div
style
=
«цвет: зеленый»
> GeeksforGeeks
div
>
портал
<9000 для компьютерных фанатов
p
>
body
>
html
>
0005
С помощью оператора запятой можно выбрать несколько элементов.
h3, p [style] { цвет фона: # 00b93e; }
- [attribute = «value»] Селектор: Этот селектор используется для выбора всех элементов, атрибут которых имеет значение, точно такое же, как указанное значение.
Пример:
<
html
>
000
title
> Селектор атрибутов
title
>
<
style
>
[title = "gfg"] {
цвет:
цвет:
цвет ;
font-size: 40px;
font-weight: жирный;
выравнивание текста: по центру;
}
[title = "geeks"] {
font-size: 17px;
выравнивание текста: по центру;
margin-top: 0px;
}
стиль
>
головка
>
<
div
title
=
"gfg"
> GeeksforGeeks
div
>
geeks "
> Портал информатики для вундеркиндов
p
>
body
>
7
html>
308Выход:
- [атрибут ~ = "значение"] Селектор: Этот селектор используется для выбора всех элементов, значение атрибута которых представляет собой список значений, разделенных пробелами, одно из которых точно равно указанному значению.
Пример:
<
html
>
000
title
> Селектор атрибутов
title
>
<
style
>
[class ~ = "gfg"] {
0005 color:
0005 color зеленый;
font-size: 40px;
font-weight: жирный;
выравнивание текста: по центру;
}
[class ~ = "geeks"] {
font-size: 17px;
выравнивание текста: по центру;
margin-top: 0px;
}
стиль
>
головка
>
<
div
класс
=
«gfg»
> GeeksforGeeks
div
>
geeks "
> Портал информатики для вундеркиндов
div
>
<
div
class
=
" geeks=
GeeksforGeeks - платформа кодированияdiv
>
body
>
html
>
000 атрибут значения ”] Селектор: Этот селектор используется для выбора всех элементов, атрибут которых имеет разделенный дефисом список значений, начинающийся с указанного значения.Значение должно быть целым словом либо отдельно, либо с дефисом.
Пример:
<
html
>
000
title
> Селектор атрибутов
title
>
<
style
>
[class | = "gfg"] {
0005 цвет:
0005 цвет зеленый;
font-size: 40px;
font-weight: жирный;
выравнивание текста: по центру;
}
[class | = "geeks"] {
font-size: 17px;
выравнивание текста: по центру;
margin-top: 0px;
}
стиль
>
головка
>
<
div
класс
=
«gfg»
> GeeksforGeeks
div
>
geeks-ide "
> Портал по информатике для вундеркиндов
div
>
<
div
ide
=
=" geeks-ide
=
> GeeksforGeeks - платформа кодирования
div 9 0008
>
body
>
html
>
28
000
Выход:
28 703 value ”] Селектор: Этот селектор используется для выбора всех элементов, значение атрибута которых начинается с указанного значения. = "geeks"] {
font-size: 17px;
выравнивание текста: по центру;
margin-top: 0px;
}
стиль
>
головка
>
<
div
класс
=
«gfg»
> GeeksforGeeks
div
>
geeks "
> Портал информатики для гиков
div
>
<
div
class
=
eks" geeks платформа кодированияdiv
>
body
>
html
>
000 значение атрибута 0003 ”] Селектор: Этот селектор используется для выбора всех элементов, значение атрибута которых заканчивается указанным значением.Значение не обязательно должно быть целым словом.
Пример:
<
html
>
000
title
> Селектор атрибутов
title
>
<
style
>
[class $ = "gfg"] {
0005 цвет:
0005 цвет зеленый;
font-size: 40px;
font-weight: жирный;
выравнивание текста: по центру;
}
[class $ = "geeks"] {
font-size: 17px;
выравнивание текста: по центру;
margin-top: 0px;
}
стиль
>
головка
>
<
div
класс
=
«gfg»
> GeeksforGeeks
div
>
geeksforgeeks "
> Портал информатики для вундеркиндов
div
>
<
div
000e000" geforks
000> платформа кодирования
div 90 008
>
body
>
html
>
28
000 903 value ”] Селектор: Этот селектор выбирает все элементы, значение атрибута которых содержит указанное значение, присутствующее где угодно.
- [attribute = «value»] Селектор: Этот селектор используется для выбора всех элементов, атрибут которых имеет значение, точно такое же, как указанное значение.
элементов, вы можете выбрать определенный стиль только для элементов списка более высокой иерархии но не для элементов вложенного списка.Выбор
> элементов, которые являются дочерними по отношению к
элементам, выглядит следующим образом.div> h2 {
цвет фона: фиолетовый;
}Оба этих селектора позволяют выбирать и стилизовать одноуровневых элементов, имеющих один и тот же родительский элемент. Это может быть полезно, например, при попытке управлять иерархиями стилей для элементов по всему документу. Общий родственный селектор довольно прост и выбирает все элементы, которые являются братьями и сестрами указанного элемента.
div ~ p {
цвет фона: фиолетовый;
}Селектор смежных одноуровневых элементов выбирает все элементы, которые являются смежными одноуровневыми элементами указанного элемента. Это означает, что все элементы, которые следуют сразу за указанным элементом. Так, например, вы можете выбрать все элементы
, которые помещаются сразу после элементов
:div + p {
background-color: purple;
}Псевдоклассы — это просто причудливое название для определения стилей на основе состояния указанных элементов.Да, точно так же, как «завис», «посещен» или любое другое известное вам состояние, определяемое пользователем. Поэтому этот селектор очень полезен для применения стилей на основе состояний элемента. Общий синтаксис выглядит так.
селектор: псевдокласс {
свойство: значение;
}Например, стили могут изменяться, когда пользователь наводит курсор на элемент.
div: hover {
background-color: blue;
}Или, если ссылка уже была нажата ранее.
/ * непосещенная ссылка * /
a: ссылка {
color: # FF0000;
}/ * посещенная ссылка * /
a: посещенная {
color: # 00FF00;
}Этот псевдокласс будет нацелен только на элемент пользовательского интерфейса, который был отмечен — например, переключатель или флажок.Это так просто.
input [type = radio]: проверено {
border: 1px сплошной фиолетовый;
}Есть еще много полезных псевдоклассов, таких как всплывающая подсказка при наведении курсора и многое другое. Вы можете ознакомиться с расширенным списком с примерами здесь.
Существуют более продвинутые псевдоклассы, такие как селекторы реляционных псевдоклассов и даже текстовые селекторы псевдоклассов. Чтобы пройти путь от нуля до героя, я бы порекомендовал этот отличный моноблочный пост Криса Койера.
Псевдоэлемент CSS — это ключевое слово, добавляемое к селектору, которое позволяет вам стилизовать определенную часть выбранных элементов.Вот синтаксис.
selector :: псевдоэлемент {
property: value;
}В настоящее время в CSS есть семь псевдоэлементов. Есть и другие, но они все еще считаются экспериментальной технологией.
Например,
:: first-line
можно использовать для стилизации первой строки каждого>.
/ * Первая строка каждого элемента
. * /
p :: first-line {
цвет: синий;
преобразование текста: прописные буквы;
}Селектор n-го типа позволяет выбрать каждый элемент, который является указанным n-м дочерним элементом указанного родительского типа.
Звучит сложно? Это действительно не так. Например, следующий CSS выберет все элементы