<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>下拉菜单</title>
<script src="js/jquery-3.4.1.min.js"></script>
<style>
/* 盒子模型有默认的margin padding值 */
* {
margin: 0px;
padding: 0px;
}
#nav {
background-color: #eee;
width: 500px;
height: 40px;
/* 居中 */
margin: 0 auto;
}
ul {
list-style: none;
}
ul li {
/* float浮动属性,值left向左浮动。 */
float: left;
/* width: 90px; 防止页面标题过长*/
/* padding: 0px 10px; 在a中添加 */
/* 行高 */
line-height: 40px;
text-align: center;
/* 便于二级菜单布局 */
position: relative;
}
a {
text-decoration: none;
color: black;
/* 变成块级元素 */
display: block;
padding: 0px 10px;
height: 40px;
}
a:hover {
background-color: #666;
color: white;
}
ul li ul li {
float: none;
background-color: #eee;
margin-top: 2px;
}
ul li ul {
/* position:absolute 绝定定位 ,生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 */
/* 为了不影响一级菜单的布局 */
position: absolute;
left: 0px;
top: 40px;
display: none;
}
ul li ul li a:hover {
background-color: green;
}
ul li ul li a {
width: 80px;
}
</style>
<script>
function showSubMenu(e) {
// 通过"标签"获取HTML元素
var subMenu = e.getElementsByTagName("ul")[0];
subMenu.style.display = "block";
}
function hideSubMenu(e) {
var subMenu = e.getElementsByTagName("ul")[0];
subMenu.style.display = "none";
}
</script>
</head>
<body>
<div id="nav">
<ul>
<li><a href="">首页</a></li>
<!-- this 当前对象 -->
<li onmouseover="showSubMenu(this)" onmouseout="hideSubMenu(this)"><a href="">课程大厅</a>
<ul>
<li><a href="#">JavaScript</a></li>
<li><a href="#">jQuery</a></li>
<li><a href="#">Angular</a></li>
</ul>
</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>
</ul>
</li>
<li><a href="#">联系我们</a></li>
</ul>
</div>
</body>
</html>