基于CSS与JavaScript实现下拉菜单的完整示例

作者:页面旅途

时间:2026-10-22

浏览:479

本文提供了一套完整的HTML、CSS和JavaScript代码示例,展示如何构建一个标准的下拉菜单。通过CSS控制菜单的布局与隐藏显示,结合JavaScript处理鼠标悬停事件以增强交互体验。代码包含详细的样式定义和DOM操作逻辑,适用于需要快速实现基础导航功能的Web项目。

文章目录

HTML结构、CSS样式与JavaScript交互实现

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>导航菜单</title> <script language="javascript"> // JavaScript 文档初始化

startList = function() { if (document.all&&document.getElementById) { navRoot = document.getElementById("nav"); for (i=0; i<navRoot.childNodes.length; i++) { node = navRoot.childNodes[i]; if (node.nodeName=="LI") { node.onmouseover=function() { this.className+=" over"; } node.onmouseout=function() { this.className=this.className.replace(" over", ""); } } } } } window.onload=startList; </script> <style type="text/css"> <!-- body { font: normal 11px verdana; }

ul { margin: 0; padding: 0; list-style: none; width: 150px; /* 菜单项宽度 */ border-bottom: 1px solid #ccc; } ul li { position: relative; } li ul { position: absolute; left: 149px; /* 设置为比菜单宽度小1像素 */ top: 0; display: none; }

/* 菜单项样式 */ ul li a { display: block; text-decoration: none; color: #777; background: #fff; /* IE6 兼容 */ padding: 5px; border: 1px solid #ccc; /* IE6 兼容 */ border-bottom: 0; } /* IE 需求 Holly Hack \*/ * html ul li { float: left; height: 1%; } * html ul li a { height: 1%; } /* 结束 */

li:hover ul, li.over ul { display: block; } /* 核心逻辑 */ --> </style> </head>

<body> <ul id="nav"> <li><a href="#">首页</a></li> <li><a href="#">关于</a> <ul> <li><a href="#">历史</a></li> <li><a href="#">团队</a></li> <li><a href="#">办公室</a></li> </ul> </li> <li><a href="#">服务</a> <ul> <li><a href="#">网页设计</a></li> <li><a href="#">网络营销</a></li> <li><a href="#">主机托管</a></li> <li><a href="#">域名注册</a></li> <li><a href="#">宽带接入</a></li> </ul> </li> <li><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> </body> </html>

 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章