Что? Ещё селекторы? Чертовски верно. Потому что кто-то где-то действительно хочет, чтобы ваш HTML был как можно более аккуратным. Поэтому, прежде чем добавлять атрибут класса к тегу, посмотрите, можете ли вы просто настроить таргетинг на него по атрибуту, который, возможно, уже существует.
Селекторы атрибутов позволяют вам стилизовать поле элемента на основе наличия атрибута HTML или значения атрибута.
С помощью атрибута…
Добавляя имя атрибута, заключённое в квадратные скобки, для оформления чего-либо, что просто содержит определённый атрибут, вы можете сделать что-то вроде этого:
abbr[title] { border-bottom: 1px dotted #ccc }
По сути, это говорит о том, что “проведите пунктирную линию под всеми сокращениями с title атрибутом”.
С атрибутом и его значением…
Далее вы можете указать, что хотите придать чему-либо стиль с определённым значением атрибута.
input[type=text] { width: 200px; }
В этом примере ширина 200 пикселей будет применена только к input элементам, которые указаны как текстовые поля
<input type="text">
Этот подход, безусловно, может быть полезен в формах, где элементы input могут принимать множество обличий, используя атрибут type.
Вы также можете настроить таргетинг на несколько атрибутов одновременно способом, аналогичным следующему:
input[type=text][disabled] { border: 1px solid #ccc }
Это применит серую рамку только к текстовым вводам, которые отключены.
CSS 3 также позволяет вам сопоставлять атрибуты, не будучи точными:
[attribute^=something]
будет соответствовать значению атрибута, который начинается с чего-либо.
[attribute$=something]
будет соответствовать значению атрибута, который заканчивается чем-то.
[attribute*=something]
будет соответствовать значению атрибута, который содержит что-либо, будь то в начале, середине или конце.
Итак, в качестве примера, вы могли бы оформить внешние ссылки (например. “https://foxyforex.ru”) иначе, чем внутренние ссылки (например. “overhere.html») следующим образом:
a[href^=http] { padding-right: 10px; background: url(arrow.png) right no-repeat; }
Страницы в тему:
- Следующая страница: CSS-переходы
- Предыдущая страница: At-Правила
- Универсальный, дочерний и смежные селекторы
- Селекторы CSS