我對使用僞類:hover
感到困惑。CSS3:如何正確使用:懸停來修改其他元素的樣式?
在下面的HTML,:hover
作品如預期的ul
元素,但不是爲div
的:
<!DOCTYPE html>
<html>
<head>
<meta charset:"utf-8" />
<style>
#div1:hover #div2 {
color: green;
}
#ul2 {
display: none;
}
#ul1:hover #ul {
display:block;
}
</style>
</head>
<body>
<div id='div1'>
If I hover this, then the next div should change color to green...
</div>
<div id='div2'>
But it doesn't change colors!
</div>
<ul id='ul1'>
<li>If I hover this, then ul2 shows up</li>
<ul id='ul2'>
<li>We're showing up!</li>
<li>We're showing up!</li>
</ul>
<li>etc.</li>
</ul>
</body>
</html>
#div2
,如果我改變這一行#div1:hover #div2 {
到#div1:hover + #div2 {
(注意加號纔會變綠「+」)。我不明白,爲什麼需要「+」?在這question,代碼甚至使用nav ul li:hover > ul
。什麼是>
?
總結我的問題:什麼是做在CSS :hover
改變的另一元素的SYLE規則?
那不工作在純粹的CSS,你必須使用javascript(jquery) – Felix
@FelixHäberle謝謝!但爲什麼呢?瀏覽器實現有問題嗎? – flen
其在css規格的情況下 – Felix