Можно ли сопоставить все ссылки без href, указанные через CSS?
Пример:
<a>Invalid link</a>
Я знаю, что его можно сопоставить со всеми ссылками с href, но я просто ищу обратное.
Ответ 1
Используйте CSS3 :not():
a:not([href]) {
/* Styles for anchors without href */
}
Или укажите общий стиль для всех a и один для a[href], чтобы переопределить его для тех, у кого есть атрибут.
a {
/* Styles for anchors with and without href */
}
a[href] {
/* Styles for anchors with href, will override the above */
}
Для поддержки браузера лучший (включая древние, но не совсем забытые браузеры) используйте :link и :visited pseudo -classes вместо селектора атрибутов (объединение обоих будет совпадать с a[href]):
a {} /* All anchors */
a:link, a:visited {} /* Override */
Также см. этот ответ для подробного объяснения a[href] по сравнению с a:link, a:visited.