网页制作 
首页 > 网页制作 > 浏览文章

利用纯css做一个下拉菜单功能的示例代码

(编辑:jimmy 日期: 2024/11/28 浏览:3 次 )

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

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

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

利用纯css做一个下拉菜单功能的示例代码

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

利用纯css做一个下拉菜单功能的示例代码
利用纯css做一个下拉菜单功能的示例代码

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

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

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <style>
        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;
        }
    </style>
</head>
<body>
  <div id="menu">
    <div class="button">更多信息</div>
    <ul id="list">
        <li>个人中心</li>
        <li>我的博客</li>
        <li>设置</li>
        <li>退出登陆</li>
        <li>注销</li>
    </ul>
  </div>
</body>
</html>

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

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

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

利用纯css做一个下拉菜单功能的示例代码

总结

上一篇:浅谈CSS 伪元素&伪类的妙用
下一篇:CSS解决inline-block的错位问题
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap