【问题标题】:Styling <a> without href attribute不带 href 属性的 <a> 样式
【发布时间】:2011-07-04 23:07:14
【问题描述】:

是否可以匹配所有没有通过 CSS 指定 href 的链接?

例子:

<a>Invalid link</a>

我知道可以将所有链接与 href 匹配,但我只是在寻找相反的结果。

【问题讨论】:

  • 注意这里的“invalid”并不是指“invalid HTML”,而是“invalid hyperlink”,意思是它实际上并没有指向任何地方。

标签: html css css-selectors


【解决方案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 and :visited pseudo-classes 而不是属性选择器(将两者结合将与a[href] 匹配):

a {} /* All anchors */
a:link, a:visited {} /* Override */

另请参阅 this answer 以深入了解 a[href]a:link, a:visited

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-21
    • 2017-12-15
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    相关资源
    最近更新 更多