我的网页上有一个按钮。当光标悬停在按钮上时,我想使用 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
来选择B
element 的后代A
。使用新的 CSS3 规范,可以选择A
使用一些新伪类的兄弟元素。
但是有没有办法选择一个(或多个)B
更像远亲的元素A
?
我在想几个解决方案。一:使用Javascript。这听起来对我来说不太有吸引力,因为我希望在没有 JS 的情况下让我的页面完全正常运行,以防有人浏览我的页面时在他们的浏览器中禁用了 JS。我也希望保持简单。第二种解决方案:将foo
div放在 div 内bar
,然后使用position: absolute
移动foo
到我希望它结束的位置。这是一个混乱的解决方案,原因应该很明显。