1 HTML и CSS 0

Css селекторы атрибутов

В CSS очень много селекторов. Некоторые из них позволяют выбрать определенные элементы, не привязывая к ним стилевой класс или идентификатор. Например, css селекторы атрибутов.

Как выбрать элемент по его html-атрибуту

Селекторы атрибутов, это те селекторы, в которых в квадратных скобках записывается атрибут, либо атрибут со значением. Сразу приведу несколько примеров, чтобы было понятно:
*[href] – выбирает все элементы, которые имеют атрибут href с любым значением.
input[disable] – выбирает все input-элементы, у которых есть атрибут disable (все отключенные поля).
input[type = “password”] – выбирает все поля, тип которых password, то есть поля для ввода пароля.
img[src = “logo.png”] – выбирает картинку, у которой задан атрибут src = “logo.png”.

Как видите, прописывать css селекторы атрибутов не так уж и сложно. Их самое главное отличие – квадратные скобки, в которых записывается либо просто атрибут, либо атрибут с его точным значением. Но на этом функционал этих селекторов не заканчивается.

Продвинутые css селекторы атрибутов

Все нижеперечисленные селекторы чувствительны к регистру.
Поиск в начале строки
div[class^= “block”] – выбирает все div-ы, у которых есть стилевой класс, начинающийся на “block”. Таким образом, будут выбраны, например, такие блоки: “block-head”, “block-3”, “blocknote”. Главное, чтобы в начале значения было ключевое слово.

Поиск в конце строки
A[href$= “.rar”] – выбирает все ссылки, у которых адрес заканчивается на .rar. Таким образом, если у вас на сайте можно что-то скачать, то вы можете добавить иконку рядом со всеми ссылками на архивные файлы.

Поиск подстроки везде в значении
span[class*= “art”] – выберет все теги span, у которых в имени класса в любом месте этого имени содержится “art”. Таким образом, будут выбраны, например, спаны с такими классами: party, clart, art-1.

Поиск префиксов
p[class|= “first”] – выберет абзацы со стилевым классом, которые имеют имя, либо точно совпадающее с “first”, либо содержащие префикс first-, с которого начинается имя класса.

Поиск слов внутри значения
input[id~= “text”] – выберет все элементы input, в которых значение атрибута идентификатора содержит в себе слово text. Его отличие от поиска подстроки везде отличается тем, что входить должно именно слово, а не подстрока.

Последние два варианта редко где применяются и едва ли вам часто пригодятся, но для общего развития все-таки можно о них знать.

Для чего могут пригодиться селекторы атрибутов

С помощью подобных селекторов можно выбирать многие html-элемента, не задавая им стилевых классов. В некоторых случаях благодаря такому способу можно сократить код и упростить себе работу. Например, выше я приводил пример с иконкой для архивов. Тут появилась еще одна идея. Например, на своем сайте вы часто ссылаетесь на один другой ресурс (википедию, скажем) и хотите рядом с ссылками на википедию отображать специальную иконку, которой у других ссылок быть не должно.

Реализовать это можно так:

a[href^= “http://ru.wikipedia.org/”] {css-правила}

Так мы выбрали все ссылки, адрес который начинается с http://ru.wikipedia.org/ то есть по сути все ссылки на русскоязычную википедию.

На самом деле способов применения селекторов атрибутов можно придумать еще много. Они могут в какой-то мере упростить работу там, где это нужно. Используйте css и подписывайтесь на блог, чтобы узнавать больше о веб-разработке.

Минуточку вашего внимания: Все мы хотим размещать свои сайты на надежном хостинге. Я проанализировал сотни хостингов и нашел лучший - HostIQ В сети сотни положительных отзывов о нем, средняя оценка пользователей - 4.8 из 5. Пусть вашим сайтам будет хорошо.

Еще материалы по HTML

Бесплатный курс по HTML

Премиум уроки по HTML

Полный курс по HTML5