2011-02-26 82 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