Селектор CSS по встроенному атрибуту стиля

Есть ли селектор CSS для выбора этого элемента по его встроенному атрибуту стиля?

<div style='display:block'>...</div>

что-то вроде

div[cssAttribute=cssValue]

Ответ 1

Атрибут inline style не отличается от любого другого атрибута HTML и может быть сопоставлен с селектором атрибутов подстроки:

div[style*="display:block"]

Именно по этой причине он чрезвычайно хрупкий. Поскольку селекторы атрибутов не поддерживают регулярные выражения, вы можете выполнять только точные подстрочные соответствия значения атрибута. Например, если у вас есть место где-то в значении атрибута, например:

<div style='display: block'>...</div>

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

Отметим также, что это вовсе не выбор элементов по их фактическим заданным, вычисленным или использованным значениям, отраженным в DOM. Это невозможно с помощью селекторов CSS.

Ответ 2

В том числе ";" работает лучше для меня.

div[style*="display:block;"]