2013-07-10 125 views
0

我有兩個div的CSS徘徊元素

<div id="a">A</div> 
<div id="b">B</div> 

我努力讓自己在#b#a的背景顏色徘徊時的效果。 我用

CSS

#b:hover + #a{ 
    background: #000; 
} 

但它無法正常工作。
如果我使用

CSS

#a:hover + #b{ 
    background: #000; 
} 

它的工作原理。徘徊在#a變化#b背景顏色。
但我需要先工作。

如何使第一個工作。爲什麼這不起作用?

+7

CSS沒有任何類型的「之前的兄弟」選擇器。除非您可以使用JavaScript,否則您是SOLO –

回答

4

+~組合程序將針對兄妹左側選擇後,所以你想在你的第一個例子做什麼是不可能用純CSS。如果#b在您的標記中位於#a之前,那麼它將起作用。

+0

還有其他方法嗎? –

+0

好的謝謝...但很難聽到 –

+1

您可以使用JavaScript。 –

2

嘗試使用jQuery:

$("b").hover(function(){ /*hovering*/ 
    $("#a").css("backgroud-color", "#000"); 
}, function(){ /*hovering out*/ 
    $("#a").css("backgroud-color", "set_it_back_to_the_orignial"); 
}); 

如果你想用CSS做那麼它不可能,直到你改變你的標記和#b下得到#a

+0

根本不...... ...... –

+0

@Harikrishnan那我的編輯答案呢? –

+0

好的,但我問在css –

0

它不會工作,因爲它的含義不同。

選擇id爲a的元素,如果它直接作爲#b的同胞出現。這不是在這種情況下。

+0

讓它評論 –

+0

我沒有足夠的聲譽。 –

+0

我的意思是刪除這個答案並使其成爲評論! –