是否可以通过 CSS 匹配所有没有指定 href
的链接?
例如:
<a>Invalid link</a>
我知道可以使用href匹配所有链接,但我只是在寻找相反的情况。
是否可以通过 CSS 匹配所有没有指定 href
的链接?
例如:
<a>Invalid link</a>
我知道可以使用href匹配所有链接,但我只是在寻找相反的情况。
可以使用CSS3的:not()
:
a:not([href]) {
/* Styles for anchors without href */
}
或者为所有的a
指定一个通用样式,再为带有href
属性的a
指定一个覆盖通用样式的样式。
a {
/* Styles for anchors with and without href */
}
a[href] {
/* Styles for anchors with href, will override the above */
}
为了获得最好的浏览器支持(包括古老但未被遗忘的浏览器),请使用:link
和:visited
伪类代替属性选择器(两者组合将与a[href]
匹配相同):
a {} /* All anchors */
a:link, a:visited {} /* Override */
还可以参见此答案,深入解释了a[href]
与a:link, a:visited
的区别。