2011-02-26 61 views
41

是否可以通过CSS指定没有href的所有链接?造型<a>没有href属性

例子:

<a>Invalid link</a> 

我知道它可能匹配的href的所有链接,但我只是在寻找相反。

+0

请注意,这里的“无效”并不意味着“无效的HTML”,而是“无效的超链接”,这意味着它实际上并不指向任何地方。 – BoltClock 2012-05-14 18:35:35

回答

81

要么使用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 */ 

有关a[href]a:link, a:visited的深入说明,请参见this answer

+1

是的,它的工作原理!谢谢。示例:http://jsfiddle.net/9pCr2/ – knoopx 2011-02-26 18:02:07