导语:

这几天看面试题目的时候,经常能够看到用css去实现一个下拉菜单,但是我发现很多人却没能够做出来,最后只能勉强用js做出来。实话实说,我很震惊,这个功能实现起来很简单,甚至可以说是入门题目,怎么这么多人不会呢?所以今天来个面试干货,带大家直接手撸css做下拉菜单。

还是一样,话不多说,直接上效果图。

1,一个按钮,没点击前(手机端)或者鼠标没指向时(pc端)

html5三级下拉菜单 html5下拉菜单怎么做_css

2,点击后,或者鼠标指向后。

html5三级下拉菜单 html5下拉菜单怎么做_html下拉菜单原理_02

html5三级下拉菜单 html5下拉菜单怎么做_html下拉菜单原理_03

就能够显示下拉菜单,而且它的实现原理也很简单,只需要记住一点:hover,这个属性就行了。

我们直接上代码,稍后再来解释

li{
list-style: none;
height: 28px;
}
#menu{
display: inline-block;
}
#menu #list {
max-height: 0;
transition: max-height 0.25s ease-out;
overflow: hidden;
background: #f5f4f4;
width: 80px;
margin: 0;
padding: 0;
text-align: center;
}
#menu:hover #list {
max-height: 200px;
transition: max-height 0.25s ease-in;
width: 80px;
margin: 0;
padding: 0;
}
.button{
height: 32px;
width: 80px;
margin-top: 6px;
border-radius: 4px;
color: #fff;
padding-left: 0;
padding-right: 0;
line-height: 32px;
background: #E33E33;
text-align: center;
}



更多信息



  • 个人中心
  • 我的博客
  • 设置
  • 退出登陆
  • 注销



只需要设置一个div,然后给他设置两种状态,一种是没有:hover,一种是有:hover。并且在没有:hover的时候设置菜单隐藏就可以了(overflow: hidden;),其余的代码都是简单的盒子模型。

现在再来说一说:hover,这个东西是什么,它是一个css选择器,选择器用于选择鼠标指针浮动在上面的元素。 所以说当鼠标悬浮或者手机端点击的时候,就会触发这个属性,就能够让这个下拉菜单显示出来了。同时我们加上了transition属性,让下拉菜单有渐变的效果,更加感觉时下拉下来的。

所以说css选择器是不是很神奇,用的好的话,就不用写一大坨js代码。我将会在后续把css选择器做成一个专栏,到时候在系统的介绍所有的css选择器。

html5三级下拉菜单 html5下拉菜单怎么做_css选择器_04

总结

到此这篇关于利用纯css做一个下拉菜单功能的示例代码的文章就介绍到这了