css下拉栏收不回去

admin 轻心小站 关注 LV.19 运营
发表于前端技术学习版块 css,教程

最近在制作一个网站时,遇到了一个奇怪的问题,就是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代码尽善尽美。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: css下拉栏收不回去

粉丝

0

关注

0

收藏

0

已有0次打赏