最近在制作一个网站时,遇到了一个奇怪的问题,就是CSS下拉栏不会自动收回。我试着通过修改CSS样式并使用JavaScript,但一些尝试都没有奏效。最终,我发现了问题,并得到了解决。问题的原因是,CS
最近在制作一个网站时,遇到了一个奇怪的问题,就是CSS下拉栏不会自动收回。我试着通过修改CSS样式并使用JavaScript,但一些尝试都没有奏效。最终,我发现了问题,并得到了解决。
问题的原因是,CSS下拉栏在显示下拉菜单的时候,它被设置了一个高度,但是,在菜单被隐藏之后,高度却被保留了下来,导致菜单看起来像是被卡住了。所以,当我重置菜单的可见性和高度时,它最终开始起作用。
.dropdown:hover .dropdown-menu { display: block; opacity: 1; transition: opacity .3s ease-in-out, transform .3s ease-in-out; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); height: auto; } .dropdown .dropdown-menu { display: none; opacity: 0; position: absolute; z-index: 1000; min-width: 10rem; padding: .5rem 0; margin: .125rem 0 0; margin-top: 0; font-size: 1rem; color: #212529; text-align: left; list-style: none; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0,0,0,.15); border-radius: .25rem; height: 0; overflow: hidden; }
在修改了高度的时候,我们需要使用auto来代替被硬编码的数值,这样菜单就能够适应内容的高度,并且在隐藏之后它会被正常地收回。
总体上来说,当你遇到类似的问题时,你的解决方案就是通过修改样式,并且设置正确的CSS属性来解决问题。这也展示了CSS编程时的一些细节问题,只有你了解了它们,才能使你的CSS代码尽善尽美。
粉丝
0
关注
0
收藏
0