批改状态:合格
老师批语:总体看上去写的不错,刚开始多写多看就能理解和熟练运用。
最后实现的效果图

1.html代码
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><ul id="nav"><li title="首页"><a href="">首页</a></li><li title="视频教程"><a href="">视频教程</a></li><li title="入门教程"><a href="">入门教程</a></li><li title="社区问答"><a href="">社区问答</a></li><li title="技术文章"><a href="">技术文章</a><ul><li><a href="">头条</a></li><li><a href="">PHP教程</a></li><li><a href="">PHP小知识</a></li><li><a href="">html教程</a></li><li><a href="">js教程</a></li></ul></li><li title="资源下载"><a href="">资源下载</a><ul><li><a href="">PHP工具</a></li><li><a href="">手册下载</a></li><li><a href="">js特效</a></li><li><a href="">网站源码</a></li><li><a href="">在线工具</a></li></ul></li></ul></body></html>
2.CSS代码
<style>/* 元素样式初始化 */*{margin:0;padding:0;box-sizing:border-box;}/* a标签的样式进行初始化 */a {color:#bbb;text-decoration:none;}/* 设置导航栏的背景色和宽高 */#nav{background-color:black;height:50px;line-height:50px;}/* 让列表进行靠左并列一行排序并设置间距,去除列表小黑点 */li{list-style:none;margin:0 10px;float: left;}/* 添加导航栏鼠标悬停时字体颜色 */#nav>li>a:hover{color:white;}/* li的定位类型 */#nav>li{position:relative;}/* 设置子菜单的宽高,背景色,定位类型,字体大小,边框实线 */#nav>li>ul{position:absolute;top: 50px;width: 180px;border:1px solid #aaa;boeder-top:none;background-color:blanchedalmond;font-size: 0.9rem;}/* 设置子菜单的字体,高度 */#nav>li>ul>li a{display:inine-block;height:50px;color:#444;}ul.sub li:hover{background-color:#eee;}/* 一开始子菜单不显示 */#nav>li>ul{display:none;}</style>
3.JS代码
<script>const navs = document.querySelectorAll("#nav>li");navs.forEach(function(nav){// 鼠标移入时:显示子菜单nav.addEventListener("mouseover", showSubMenu);// 鼠标移出时:关闭子菜单nav.addEventListener("mouseout",closeSubMenu);});// 显示子菜单function showSubMenu(ev){// 当前这个导航有没有子菜单if(ev.target.nextElementSibling !== null){ev.target.nextElementSibling.style.display = "block";}}// 关掉子菜单function closeSubMenu(ev){if(ev.target.nodeName === "A" && ev.target.nextElementSibling !== null){ev.target.nextElementSibling.style.display = "none"}}</script>
总结
1.js部分的代码还有不太好理解的地方还需多看几次回放
2.子菜单中的文本居中和鼠标可以悬停在子菜单不知该如何解决
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号