怎么使用HTML+CSS+JavaScript实现下拉菜单效果

发布时间:2022-07-04 13:54:25 作者:iii
来源:亿速云 阅读:132

今天小编给大家分享一下怎么使用HTML+CSS+JavaScript实现下拉菜单效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

实现思路:

HTML 方面,导航栏的每个 <li> 元素里面包含 <a> 和 <ul> ,将 <li> 设置为相对定位, 将 <ul> 设置为绝对定位,并将 <ul> 的 display 属性设置为 none 。通过 js 给导航栏的每个 <li> 添加事件监听器,当鼠标覆盖 <li> 时,令 <ul> 的 display 属性值为 block;当鼠标离开 <li> 时,令 <ul> 的 display 属性值为 none;

效果演示:

怎么使用HTML+CSS+JavaScript实现下拉菜单效果

源代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>下拉菜单</title>
    <style>   
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            background-color: #ffb900;
        }
        a {
            cursor: default;
            text-decoration: none;
            font-size: 20px;
            font-weight: 700;
            color: #fff;
            letter-spacing: 3px;
        }
        li {
            list-style: none;
            cursor: default;
        }
        .container {
            position: absolute;
            top: 30%;
            left:50%;
            transform: translate(-50%, -50%);
            box-shadow: 0 10px 10px rgba(10, 20, 20, .20), 0 0 10px rgba(10, 20, 20, .20);
            font-size: 0;
        }
        .container .nav {
            display: inline-block;
            position: relative;
            width: 150px;
            height: 50px;
            background-color: #505050;
            text-align: center;
            line-height: 50px;
        }
        .container .nav:hover {
            background-color: #3e3e3e;
        }
        .container .nav ul {
            display: none;
            position: absolute;
            top: 50px;
            width: 100%;
            box-shadow: 0 10px 10px rgba(10, 20, 20, .20), 0 0 10px rgba(10, 20, 20, .20);
            background-color: #fff;
            text-align: center;
        }
        .container .nav ul li a {
            display: block;
            color: #505050;
        }
        .container .nav ul li a:hover {
            background-color: #e1e1e1;
        }
    </style>
</head>
<body>
    <ul class="container">
        <li class="nav">
            <a href="#">水果</a>
            <ul>
                <li><a href="#">西瓜</a></li>
                <li><a href="#">香蕉</a></li>
                <li><a href="#">哈密瓜</a></li>
                <li><a href="#">橙子</a></li>
            </ul>
        </li>
        <li class="nav">
            <a href="#">蔬菜</a>
            <ul>
                <li><a href="#">西红柿</a></li>
                <li><a href="#">土豆</a></li>
                <li><a href="#">小白菜</a></li>
                <li><a href="#">黄花菜</a></li>
            </ul>
        </li>
        <li class="nav">
            <a href="#">酒水</a>
            <ul>
                <li><a href="#">啤酒</a></li>
                <li><a href="#">橙汁</a></li>
                <li><a href="#">可乐</a></li>
                <li><a href="#">雪碧</a></li>
            </ul>
        </li>
        <li class="nav">
            <a href="#">零食</a>
            <ul>
                <li><a href="#">饼干</a></li>
                <li><a href="#">面包</a></li>
                <li><a href="#">辣条</a></li>
                <li><a href="#">沙琪玛</a></li>
            </ul>
        </li>
    </ul>
    <script>
        let nav = document.querySelectorAll('.nav');
        for(let i=0; i<nav.length; i++) {
            nav[i].addEventListener('mouseover', function() {
                this.children[1].style.display = "block";
            });
            nav[i].addEventListener('mouseout', function() {
                this.children[1].style.display = "none";
            });
        }
    </script>
</body>
</html>

以上就是“怎么使用HTML+CSS+JavaScript实现下拉菜单效果”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

推荐阅读:
  1. bootstrap如何实现二级下拉菜单效果
  2. 使用jQuery怎么实现一个下拉菜单效果

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

javascript html css

上一篇:SpringBoot整合MyBatis过程中可能遇到的问题有哪些

下一篇:C语言数据结构之队列怎么定义与实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》