2014-03-26 55 views
1

父級和子級div都定義了懸停樣式,但我希望在子元素懸停時取消父級懸停樣式(僅使用css)。當子元素被徘徊時,是否可以取消父級懸停樣式?

可能嗎?

+0

CSS並沒有真正給你一個API爲「取消」的影響,但你可能爲了你的選擇讓你有'.parent .child定義的風格:hover'是不同從'.parent:hover .child:hover'。 –

+0

研究css特異性 – fnostro

+0

Dup of http://stackoverflow.com/questions/21712198/hover-only-on-parent – bjb568

回答

3

據我所知,顧名思義,級聯樣式表(css)只允許根據祖先設置子屬性。根據孩子選擇元素是不可能的。

簡而言之:

+1

實際上有一個計劃,使CSS4使用主題成爲可能:http://dev.w3.org/csswg/selectors4/#subject – Godwin

+0

悲傷,但似乎是正確的。 –

0

這裏是一個「騙」爲你想要的效果的一種方式。只是不能嵌套的父母和孩子,但他們可以分組在一個包含div。

JS Bin Sample

body{ 
    margin:0; 
} 
.parent{ 
    height:100px; 
    width:100px; 
    background-color:blue; 
} 
.child { 
    height:50px; 
    width:50px; 
    background-color:red; 
    position:absolute; 
    top:25px;; 
    left:25px; 
} 

.parent:hover { 
    background-color:green; 
} 
.child:hover { 
    background-color:yellow; 
} 

    <div> 
<div class="parent"> 
    </div> 
    <div class="child"> 

    </div> 
    </div> 
+0

謝謝加里。我喜歡你所做的,但我應該解決這個問題,如果可能的話,不要觸及標記或JavaScript。似乎不可能。 –

+0

沒問題...做到這一點,我知道沒有改變標記的唯一方法是使用sass CSS http://sass-lang.com/你可以在css中嵌套。 –

相關問題