li{
.subnav{
display: flex;
flex-direction: column;
transition:height 2s;//这个高度什么不生效
padding: 10px 0;
height: 0;
overflow: hidden;
}
}
#navmenu li:hover .subnav{
height: auto;
}
li{
.subnav{
display: flex;
flex-direction: column;
transition:height 2s;//这个高度什么不生效
padding: 10px 0;
height: 0;
overflow: hidden;
}
}
#navmenu li:hover .subnav{
height: auto;
}
刚好看到
使用 CSS transitions - CSS(层叠样式表) | MDN
哪些 CSS 属性可以动画?
auto 值常常较复杂,规范指出不要在它上动画。一些用户代理,比如基于 Gecko 的,遵循这点;一些,比如基于 WebKit的,没有这么严格限制。在auto
上动画结果可能不可预期,这取决于浏览器及其版本,应当避免使用。
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答858 阅读✓ 已解决
6 回答873 阅读✓ 已解决
4 回答949 阅读✓ 已解决
因为
heigth:auto
不是具体值,无法触发过渡。transition
必须满足是具体值,比如opacity:0
->opacity:1
。可以将
height:auto
用max-height:xxx
代替