Полезные статьи о мире IT
Как и зачем использовать селекторы атрибутов в CSS

Что такое селектор атрибутов?
Все элементы HTML имеют связанные с ними свойства, называемые атрибутами, которые помогают определить характеристики элемента. С помощью селекторов атрибутов вы можете эффективно стилизовать различные элементы на основе их соответствующих атрибутов. Например, элемент p
может иметь атрибут Title
. Атрибут состоит из двух частей: имени
и значения
:
<div> <p title="text-main">Главный текст с css атрибутом</p> <p title="text additional">Текст с css атрибутом</p> <p>Текст без css атрибута</p> </div>
Далее мы можем забрать все p
элементы с title
атрибутом:
p[title] { color: red; }
Рузультат:
[attribute]
селектор
Мы используем селектор [attribute] для выбора элемента с указанным атрибутом. Как в примере выше.
[attribute="value"]
селектор
Селектор [attribute="value"]
позволяет нам выбирать элементы со специальным атрибутом и значением:
[title='text-main'] { color: red; }
Этот пример применит красный цвет для всех элементов которые имеют title
атрибут с text-main
значением.
Мы также можем использовать i
или I
для получения элементов без учета регистра (применимо ко всем селекторам атрибутов со значением):
[title='text-main', i] { color: red; }
В случае, если значение будет - title="Text-Main"
, то i
проигнорирует большие буквы и вернет ожидаемый результат.
Или если нужно учитывать регистр, то можно использовать s
или S
:
[title='text-main', s] { color: red; }
[attribute~="value"]
селектор
С помощью селектора [attribute~="value"]
вы можете выбирать элементы со значением атрибута, содержащим определенное слово.
В следующем примере мы выбирем все элементы у которых title
атрибут будет содержать text
значение:
[title~='text'] { color: red; }
Результат:
Мы так же можем поменять значние на additional
- результат не изменится, т.к. он содержится в том же элементе.
[attribute|="value"]
селектор
Мы используем селектор [attribute|="value"]
для выбора элементов с указанным значением атрибута или элементов с указанным значением, за которым следует дефис -.
Значение может быть как одно слово (text
) так и с дефисом (text-main
), например:
[title|='text'] { color: red; }
Выберет два элемента, так как у них содержатся text
значение:
<p title="text-main">Главный текст с css атрибутом</p> <p title="text additional">Текст с css атрибутом</p>
[attribute^="value"]
селектор
С помощью селектора [attribute^="value"]
мы выбираем элементы, значение которых начинается с указанного атрибута. Например, [attribute^="value"]
выбирает все теги <a>
, чьи атрибуты href
имеют начальные значения https
:
[href^='https'] { color: red; }
[attribute$="value"]
селектор
Селектор [attribute$="value"]
выбирает элемент на основе того, чем заканчивается значение его атрибута. Поэтому мы можем указать слово и выбрать элементы с атрибутами, заканчивающимися на указанное значение.
Выбирем все теги <img>
с атрибутами src
, значение которых заканчивается на .png
:
[src$='.png'] { border: 1px solid red; }
[attribute*="value"]
селектор
Мы используем селектор [attribute*="value"]
для выбора элементов, значение атрибута которых содержит указанное значение. В приведенном ниже примере селектор [attribute*="value"]
выбирает все элементы с атрибутом title
и значением, содержащим слово text
:
[title*='text'] { color: red; }
В итоге, по сравнению с обычными селекторами (div a
), мы можем применить стили к специальным элементам, которые будут подподать под нужные селекторы атрибутов.