CSS实践:hover伪类与延时实现下拉列表

2021-03-0510:49:33网页制作Comments1,756 views字数 651阅读模式

实现一个鼠标经过按钮来展示下拉菜单的交互效果:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21012.html

<button class='btn'>菜单</button>
<ul class='panel'>
  <li class='panel-item'>苹果</li>
  <li class='panel-item'>葡萄</li>
  <li class='panel-item'>香蕉</li>
  <li class='panel-item'>橙子</li>
</ul>
复制代码

目标是鼠标经过按钮时,下拉菜单展示。css代码很简单:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21012.html

.btn:hover + .panel, .panel:hover{
  visibility: visible
}
.panel{
  visibility: hidden;
  width: 100px;
  height: 200px;
  background: #DDD;
}
.panel-item{
  width: 100%;
  height: 50px;
  list-style: none;
  line-height: 50px;
}
复制代码

然而上面的实现有一个小缺陷,如果按钮与菜单之间有空隙,鼠标还没移动到下拉框上时,下拉框就已经收起来了。借助transition增加延时效果就可以解决这个问题。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21012.html

只需要在.panel增加如下属性即可:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21012.html

.panel{
	transition: visibility .2s;
}
复制代码

效果图如下: CSS实践:hover伪类与延时实现下拉列表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21012.html

作者:zhangwinwin
链接:https://juejin.cn/post/6934887428616355847
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21012.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21012.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/zhizuo/21012.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定