html - 兄弟悬停上的 CSS 翻译按钮

标签 html css css-transitions siblings translate-animation

我正在尝试创建一堆按钮,这些按钮将从顶部悬停按钮下方滑出,但它在 my Codepen 中不起作用。 (http://codepen.io/dmoz/pen/xIsfL)。

代码如下:

HTML

<button class="one"></button>
<button class="two"></button>
<button class="three"></button>
<button class="four"></button>
<button class="five">^</button>

CSS

button {
  margin: 0;
  font-size: 12px;
  padding: 0;
  border: 0 none;
  cursor: pointer;
  color: #fff;
  width: 60px;
  height: 60px;
  display: block;
  text-transform: none;
  border-radius: 0;
  background-color: #0078E7;
  background-image: none;
  box-shadow: none;
  position: absolute;
  overflow: visible;
}
.one {
  background-color: #3b5997;
  color: #ffffff;
  left: 10;
  -webkit-transition: 0.2s ease-out;
  -moz-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
.two {
  background-color: #ba0f16;
  color: #ffffff;
  left: 10;
  -webkit-transition: 0.2s ease-out;
  -moz-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
.three {
  background-color: #d64937;
  color: #ffffff;
  left: 10;
  -webkit-transition: 0.2s ease-out;
  -moz-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
.four {
  background-color: #0073b2;
  color: #ffffff;
  left: 10;
  -webkit-transition: 0.2s ease-out;
  -moz-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
.five {
  background-color: #ffffff;
  border: 1px solid #888888;
  color: #888888;
  left: 10;
}
.five:hover ~ .one {
  left: 70px;
}
.five:hover ~ .two {
  left: 130px;
}
.five:hover ~ .three {
  left: 190px;
}
.five:hover ~ .four {
  left: 250px;
}

有人知道为什么它不起作用吗?

最佳答案

CSS3 选择器 ~ 仅适用于第一个元素之后的兄弟元素,无论其间有多少个兄弟元素。 CSS2.1 选择器 + 仅适用于直接的 NEXT 元素。因此,您的代码将无法运行,因为 .five 是最后一个元素。没有 previous sibling 姐妹的选择器。

如果您将第五个按钮移到其他按钮之前并向其添加 z-index,它将起作用,请参见 http://codepen.io/anon/pen/kEjwe

更新:根据要求,CodePen 示例现在有一个包装器 div 呈现按钮子元素。因此,不再需要兄弟选择器。这样,当悬停包装器时可以单击各个按钮。

关于html - 兄弟悬停上的 CSS 翻译按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26665325/

相关文章:

javascript - 如何使用 jquery 删除除第一个 div 之外的克隆元素 div

html - 纯CSS/JS SVG半弧顺时针动画超过180度(半圆)

html - IE8 渐变不显示

CSS3 多动画(webkit 关键帧)同步问题

javascript - jQuery 加载屏幕到纯 JavaScript

javascript - 单击 Javascript 按钮触发 CSS3 转换

html - CSS - 边框和背景颜色之间的空间

html - 倾斜的div中的背景图像

html - 未应用 div 样式

jquery - 仅对我单击的框应用颜色