2011-03-24 44 views
0

我有這樣的CSS:替代父CSS屬性

a:hover { 
    background-color:#D1E1EA; 
    color:#19558D; 
    text-decoration:none; 
} 

在我的應用程序的所有鏈接。但是,在一個特定的鏈接上,我想取消所有這些hover行爲。我怎樣才能做到這一點?

請注意,這不是重新定義這些屬性的特定鏈接那樣簡單,因爲特定鏈接的顏色發生變化,所以我不能只選擇一個background-color ...

+0

我不明白你的問題的標題。 – BoltClock 2011-03-24 05:39:43

+0

@BoltClock - 我甚至都不明白問題的正文。我以爲他不能設置一個特定的背景顏色... – 2011-03-24 06:00:39

+0

他說,有一個父CSS文件,修改錨標籤的懸停選擇器與體內的3行(如圖所示),他希望這不會發生在繼承的css文件中;具體而言,他希望顯示的特定行爲不會發生。 – OKGimmeMoney 2015-05-07 21:14:47

回答

1

我不能完全通過覆蓋確定你的意思,但你可以嘗試設置背景顏色爲透明,所以你沒有指定一個特定的顏色。

a:hover.moreSpecific{ 
    background-color: transparent; 
} 
1

我以前發佈的評論說你不能這樣做,但有一個:not()選擇在CSS 3,可以做到這一點。 It just won't work in IE < 9。我想你不得不在JS中使用JS。

a:hover:not(#specific_link) { 
    background-color:#D1E1EA; 
    color:#19558D; 
    text-decoration:none; 
} 
1

大多數(?全部)CSS屬性允許你inherit從父元素:

a:hover.special { 
    background: transparent; 
    color: inherit; 
    text-decoration: inherit; 
} 
+0

值得注意的是,在IE <8中,除了'direction'和'visibility'之外的任何東西都不能使用'inherit'。http://reference.sitepoint.com/css/inheritvalue – 2011-03-24 05:48:19

+0

公平點。無論如何,你的CSS3方法更清潔(並且可以使用selectivizr.js之類的東西在IE6-8中工作)。 – 2011-03-24 12:46:12