【发布时间】:2016-12-25 23:48:57
【问题描述】:
我制作了一个响应式菜单,其中第 4 个之后的列表项元素在移动设备上获得 display:none; opacity:0。第 4 个元素是另一个列表项,它是一个图标。当您将鼠标悬停在图标上时,隐藏的菜单项会显示为下方的阻止列表,使用
li:nth-child(4):hover ~ li {
display:block;
opacity:1;
}
无论我将 transition: all 0.5s ease 放在 CSS 的哪个位置,我都无法进行过渡。我是在尝试做一些不起作用的事情,因为我正在对兄弟选择器进行操作,还是我做错了什么?
参见小提琴:https://jsfiddle.net/nicoleamurray/zap1L8hq/,它显示了移动版本。
更新:与height 配合得非常好!
`.mainmenu{
float: right;
text-align: right;
}
.mainmenu li{
display:inline-block;
}
.mainmenu li:nth-child(4):hover ~ li{
opacity:1;
transition-delay: 0s;
height: 20px;
}
.mainmenu li:nth-child(n+5){
opacity:0;
overflow: hidden;
height: 0;
display: block;
transition: all 0.5s 1s;
}`
【问题讨论】:
标签: css css-selectors css-transitions opacity siblings