纯css代码实现简单下拉菜单效果

  • 来源:网络
  • 更新日期:2020-09-03

摘要:实现方法:(推荐教程:CSS教程)1、用ul 和 li标签写一个关联结构(ul 和 li的父子关系浑然天成,一般的关联结构都用它们)<ul class="nav"> <a href="#">服装</a> <ul class=

实现方法:

(推荐教程:CSS教程)

1、用ul 和 li标签写一个关联结构(ul 和 li的父子关系浑然天成,一般的关联结构都用它们)

<ul class="nav">
    <a href="#">服装</a>
    <ul class="plat">
        <li><a href="#">衬衫</a></li>
        <li><a href="#">棉袄</a></li>
        <li><a href="#">裤衩</a></li>
    </ul>
</ul>

2、对界面进行初始化(万金油式开头)

      *{
            padding: 0;
            margin: 0;
        }

3、给ul 和 a标签添加样式(这里大家可以自由发挥)

 ul,a{
            font-size: 20px;
            list-style: none;
            text-decoration: none;
            background-color: #3C3C3C;
            color: #FFFFFF;
            width: 100px;
            text-align: center;
            border: 0px solid black;
            border-radius: 5px;  /*圆角*/
            margin-top: 1px;
        }
        a{
            display: block;
        }

4、将.plat部分的内容隐藏起来

.plat{
            display: none;
        }

5、(重头戏来了) 对第一个a标签用:hover选择器;实现功能:当鼠标划过a标签时,隐藏部分内容可见

.nav:hover .plat{
            display: block;
            clear: both;
        }

6、至此功能已经实现,大家可以自己添加样式来优化用户体验

例如:

菜单栏横向排列:

.nav{
             float: left;
             margin-left: 1px;
         }

鼠标滑过栏目,提醒其位置

`.plat li:hover>a{
            background-color: dimgrey;
        }`

效果:

(学习视频推荐:css视频教程)

全部代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        ul,a{
            font-size: 20px;
            list-style: none;
            text-decoration: none;
            background-color: #3C3C3C;
            color: #FFFFFF;
            width: 100px;
            text-align: center;
            border: 0px solid black;
            border-radius: 5px;
            margin-top: 1px;
        }
        a{
            display: block;
        }

        .plat{
            display: none;
        }
        .nav{
             float: left;
             margin-left: 1px;
         }
        .nav:hover .plat{
            display: block;
            clear: both;
        }
        .plat li:hover>a{
            background-color: dimgrey;
        }
    </style>
</head>
<body>
<ul>
    <a href="#">服装</a>
    <ul>
        <li><a href="#">衬衫</a></li>
        <li><a href="#">棉袄</a></li>
        <li><a href="#">裤衩</a></li>
    </ul>
</ul>
<ul>
    <a href="#">服装</a>
    <ul>
        <li><a href="#">衬衫</a></li>
        <li><a href="#">棉袄</a></li>
        <li><a href="#">裤衩</a></li>
    </ul>
</ul>
<ul>
    <a href="#">服装</a>
    <ul>
        <li><a href="#">衬衫</a></li>
        <li><a href="#">棉袄</a></li>
        <li><a href="#">裤衩</a></li>
    </ul>
</ul>
</body>
</html>