Простой ответ на этот вопрос.
Нет.
Вы можете сделать это с помощью JavaScript, если хотите, чтобы я предоставил это решение?
Однако CSS Hack
(Однако, есть "хакерский" способ, которым я простозадумано для CSS) ..
Возьмите этот сценарий ... вы хотите, чтобы любые теги <a>
, у которых нет href, были окрашены в красный цвет.
Например, вы можете предположить, что ваши атрибуты будут содержать только следующие атрибуты:
- alt
- title
- href
- target etc
То, что вы могли бы сделать, это создать глобальное правило для тега привязки.Например,
a {
color: red;
}
Затем вы просто создаете правило, которое переопределяет это глобальное правило после этого объявления для каждого атрибута, который, как вы ожидаете, он будет иметь.
Таким образом, вы получите
a[href] {
color: blue;
}
Теперь вы будете знать, что любой тег, в котором отсутствует ссылка, будет красным.
Исходный вопрос:
Могу ли я создать правило для элементов, в которых отсутствует определенный атрибут?
А нет, вы не можете!Не существует кросс-браузера, способ нацеливание / выбор элементов, которые пропускают атрибут с помощью CSS.Поэтому я чувствую, что предложенное мною решение является взломом, потому что оно идет вразрез с тем, чтобы добиться того, что задал вопрос.