html - 悬停是否有效取决于堆叠?

标签 html css hover

JSFiddle: http://jsfiddle.net/qguq4/19/

工作 HTML:

<div id="menu">hover me</div>
<div id="firstLayer"></div>

非工作 HTML:

<div id="firstLayer"></div>
<div id="menu">hover me</div>

CSS:

#firstLayer {
  background-image:linear-gradient(90deg,red,red);
  background-size: 100% 100%, 100% 100%;
  background-repeat: no-repeat;
  width: 100%; 
  height: 100px; 
  min-width:900px; 
  position:absolute; 
  left:0; 
  top:0;
}

#menu {
 position:absolute; 
 top: 110px; 
 left: 50%;
}

#menu:hover ~ #firstLayer {
 clip: rect(10px,800px,80px,400px);
}

为什么悬停效果只有在 #firstLayer 出现在 #menu 之后才有效?

最佳答案

这是一个通用的兄弟组合器。第二个元素必须在第一个元素之前。

http://www.w3.org/TR/selectors/#general-sibling-combinators

关于html - 悬停是否有效取决于堆叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17795005/

相关文章:

html - 如何停止在谷歌中显示移动版网站?

javascript - 悬停父级时如何向子级 div 添加样式?

javascript - jQuery 悬停功能有问题

javascript - 隐藏 facebook like box IFRAME 组件

html - 可扩展的树形菜单列表

javascript - 如何轻弹 DIV 并让它朝正确的方向移动?

javascript - 如何在 DOM 中的键值对中应用样式?

javascript - 带语法高亮的 iFrame 中的 HTML 编辑器

css - 移动鼠标 CSS 时失去悬停

C# 标签工具提示多次出现