【发布时间】:2014-07-30 21:08:53
【问题描述】:
我有两个 div。当我在一个链接上滚动时,我想隐藏一个 div 并显示另一个,这样看起来就好像背景颜色已经改变了。这是一些示例 HTML:
<div id="main-nav">
<ul>
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
<li><a href="">Item 3</a></li>
</ul>
</div>
<div id="sub-nav">
<ul>
<li>SubItem 1</li>
<li>SubItem 2</li>
<li>SubItem 3</li>
</ul>
</div>
sub-nav div 与 main-nav div 完全相同,只是背景颜色不同。
#main-nav {
width: 500px;
height: 250px;
background-color: black;
display: block;
}
#sub-nav {
width: 500px;
height: 250px;
background-color: white;
display: none;
}
我只想在#main-div 中的项目悬停时显示#sub-nav div。所以效果将是背景颜色在悬停时似乎从黑色变为白色。
我可以只使用 CSS 吗?
基本上,我想知道是否可以在包含 div 的元素(<a> 标签)悬停时更改包含 div 的 display 属性?也就是说,悬停在链接上应该导致其包含的 div #main-nav 更改为 display: none 和 #sub-nav div 变为 display:block
【问题讨论】:
-
不,你不能只使用 CSS。
-
你需要一些javascript来做到这一点,不能单独使用CSS。 css中没有父选择器
-
这个问题在cmets中回答,不能只用css解决
-
@volumeone 它不起作用,因为悬停在整个容器中的任何位置都会触发显示/隐藏。你甚至不会进入链接,并且显示/隐藏已经发生