加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

用纯CSS怎样制作下拉菜单,重点是什么

发布时间:2023-10-16 15:33:08 所属栏目:语言 来源:
导读:这几天看面试题目的时候,经常能够看到用css去实现一个下拉菜单,但是我发现很多人却没能够做出来,最后只能勉强用js做出来。实话实说,我很震惊,这个功能实现起来很简单,甚至可以说是入门题目,怎么这么多人不会呢
这几天看面试题目的时候,经常能够看到用css去实现一个下拉菜单,但是我发现很多人却没能够做出来,最后只能勉强用js做出来。实话实说,我很震惊,这个功能实现起来很简单,甚至可以说是入门题目,怎么这么多人不会呢?所以今天来个面试干货,带大家直接手撸css做下拉菜单。
 
还是一样,话不多说,直接上效果图。
 
1,一个按钮,没点击前(手机端)或者鼠标没指向时(pc端)
 
2,点击后,或者鼠标指向后。
 
就能够显示下拉菜单,而且它的实现原理也很简单,只需要记住一点: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选择器。
 

 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章