我在网页上有一个按钮。我想使用CSS伪类来使文档的其他部分在光标悬停在按钮上时发生变化。这是我尝试过的代码:
<div id="content">
<p id="foo">blah blah blah</p>
<p id="blah">blah blah blah</p>
</div>
<div id="navigation-panel">
Hover over a button!
<div class="buttons">
<div id="button1">button1</div>
<div id="button2">button2</div>
<div id="bar">bar</div>
</div>
</div>
对应的样式表如下:
#bar:hover #foo {
color: green;
}
当然,这不起作用,因为在CSS中,只能使用格式为
A B
的选择器来选择元素A
的后代元素B
。通过新的CSS3规范,可以使用一些新的伪类来选择元素A
的同级元素。但是,有没有办法选择更像是远房表兄弟的一个或多个元素
B
?我想到了几种解决方案。第一种:使用Javascript。这对我来说不太吸引人,因为我希望我的页面在没有启用JS的情况下完全可用,以防有人在浏览器中禁用了JS。另外,我希望保持事情的简单性。第二种解决方案:将
foo
div放在bar
div内部,然后使用position: absolute
将foo
移动到我想要的位置。这是一种混乱的解决方案,原因显而易见。