实现思路

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

效果演示:

源代码:

<!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. html下拉列表插件,js+CSS实现模拟华丽的select控件下拉菜单效果

    本文实例讲述了js+CSS实现模拟select控件的下拉菜单效果.分享给大家供大家参考.具体如下: 这是一个JS+CSS技术实现的Select控件效果,模拟出来的,比默认的Select更漂亮,有了这个 ...

  2. HTML下拉菜单为什么是灰的,CSS实现的灰色下拉菜单效果代码

    本文实例讲述了CSS实现的灰色下拉菜单效果代码.分享给大家供大家参考.具体如下: 这是一款基于CSS实现的灰色下拉菜单,支持二级的导航菜单,如果不喜欢灰色的话,颜色你自己调整下,完善后效果是相当不错的 ...

  3. html hover效果下拉个框,CSS实现Hover下拉菜单的方法

    老规矩,今天来讲一个很实用的css效果,当鼠标移到按钮的时候就会自动显示下拉菜单.效果如下: 很简单的一个小demo,实现步骤如下: 首先定义一个大的div包裹一个button和一个a链接组分别设置d ...

  4. 简单下拉菜单html,JavaScript简单下拉菜单实例代码

    本文实例讲述了JavaScript简单下拉菜单实例代码.分享给大家供大家参考.具体如下: 这是一款JavaScript实现的下拉菜单演示代码,带渐变效果的CSS+jQuery菜单,向下滑出型的菜单,最 ...

  5. 用Javascrip写出selelct下拉菜单效果

    用Javascrip写出selelct下拉菜单效果 话不多说,先上效果图: html代码: <p>2.模拟selelct下拉菜单</p><div class=" ...

  6. css实现列表下拉菜单_逐行:点击打开下拉列表和菜单的高级CSS技巧

    css实现列表下拉菜单 by David Piepgrass 由David Piepgrass 逐行:点击打开下拉列表和菜单的高级CSS技巧 (Line-by-line: advanced CSS t ...

  7. js+css+html制作下拉菜单

    js+css+html制作下拉菜单 1 案例需求 2 编写HTML结构代码 3 编写css样式 4 编写JavaScript部分 5 全部代码 1 案例需求 使用JavaScript+css+html ...

  8. 用jQuery实现下拉菜单效果

    用jQuery实现下拉菜单效果 下拉菜单效果展示 代码 <!DOCTYPE html> <html><head>`在这里插入代码片`<meta charset ...

  9. html下拉菜单隐藏属性,css修改selec下拉菜单样式

    css修改selec下拉菜单样式2018-01-19 15:00 修改select下拉菜单样式其实可以使用javascript来操作,这样更方便. 但有些人并不喜欢,想用单纯的css来控制. 以下有三 ...

最新文章

  1. Tomcat提示:Error starting static Resources......
  2. 密码学AES算法_S盒_C值搜索
  3. 嗅探(被动嗅探)与ARP欺骗(主动嗅探)详解
  4. Spring 基于 Java 的配置 - 如何不用Beans.xml照样描述bean之间的依赖关系
  5. osg布告板技术(Billboard)
  6. mount --bind的用处
  7. 决策树 随机森林 xgboost_从决策树到随机森林理论篇从人话到鬼话:看不懂来找我麻烦...
  8. shell输出标准化xml
  9. 2019暑假绍兴第一中学游记
  10. 自然语言处理——句子的相似度
  11. 认识移动基站通信设备
  12. 《遥感原理与应用》孙家抦版知识点总结(含简答题)——第四章
  13. matlab coder 转 c语言,MATLAB Coder从MATLAB生成C/C++代码步骤
  14. 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字
  15. 再转个有意思的东西...装B指南...(2008-05-07 12:26)
  16. linux系统引导设置,Linux操作系统GRUB引导程序配置方法大全 - 技术文档 - 新手入门 Linux时代......
  17. 猴子吃桃问题之暴力解法
  18. WannaCryptor 勒索蠕虫样本深度技术分析
  19. 基于python的语料库数据处理_基于Python的语料库数据处理(三)
  20. python下载西瓜视频2020最新思路

热门文章

  1. html文本框 控件,HTML5的文本框表单控件
  2. 夏季刮油蔬菜排行榜!第一名你绝对想不到!
  3. Ubuntu18.04 制作系统ISO镜像并物理机还原(Systemback)
  4. iOS开发之如何通过路由方式进行页面间的跳转
  5. 视觉传达设计怎么利用计算机思维,基于计算机的图形与视觉传达设计研究
  6. Laravel学习笔记(35)利用事件进行邮箱验证功能(notify,listen,event,MailHog)
  7. The first day:解锁天猫精灵新玩法
  8. 一个富翁试图与陌生人做一笔生意用python_2009年青岛市程序设计试题
  9. 关于Bootstrap 的 data-toggle 标签
  10. 20189307《网络攻防》第二周作业