html+css实现 水平多级导航栏 展示多级导航栏高度是一样的
时间: 2023-11-15 12:06:24 浏览: 111
实现水平多级导航栏可以使用HTML和CSS的结合,其中HTML负责页面结构的搭建,CSS负责样式的设置。
以下是一个实现水平多级导航栏并展示多级导航栏高度一样的示例代码:
HTML部分:
```
<nav>
<ul>
<li><a href="#">一级菜单1</a>
<ul>
<li><a href="#">二级菜单1</a></li>
<li><a href="#">二级菜单2</a></li>
<li><a href="#">二级菜单3</a></li>
</ul>
</li>
<li><a href="#">一级菜单2</a>
<ul>
<li><a href="#">二级菜单1</a></li>
<li><a href="#">二级菜单2</a></li>
<li><a href="#">二级菜单3</a></li>
</ul>
</li>
<li><a href="#">一级菜单3</a>
<ul>
<li><a href="#">二级菜单1</a></li>
<li><a href="#">二级菜单2</a></li>
<li><a href="#">二级菜单3</a></li>
</ul>
</li>
</ul>
</nav>
```
CSS部分:
```
nav ul {
list-style: none;
margin: 0;
padding: 0;
}
nav ul li {
float: left;
position: relative;
}
nav ul li a {
display: block;
padding: 10px;
text-decoration: none;
color: #000;
}
nav ul li:hover > ul {
display: block;
}
nav ul ul {
display: none;
position: absolute;
top: 100%;
left: 0;
width: 100%;
}
nav ul ul li {
float: none;
}
nav ul ul li a {
padding: 5px;
background-color: #f1f1f1;
color: #000;
}
nav ul ul ul {
top: 0;
left: 100%;
}
nav ul ul ul li a {
background-color: #e5e5e5;
}
nav ul li:first-child > a {
border-left: none;
}
nav ul li:last-child > a {
border-right: none;
}
```
在这个示例代码中,使用了嵌套的无序列表来实现多级导航栏。每个一级菜单都是一个li元素,其中包含一个a元素和一个ul元素,ul元素中又包含多个二级菜单。
CSS部分中,将ul元素的样式设置为无列表样式,li元素设置为浮动,使得一级菜单能够在同一行中排列。使用绝对定位将二级菜单放置在一级菜单下方,并且默认设置为不显示。当鼠标悬停在一级菜单上时,通过CSS选择器显示该一级菜单下的二级菜单。
为了保证多级导航栏高度一致,可以为一级菜单和二级菜单分别设置固定高度,或者将二级菜单的高度设置为一级菜单的高度,并且为二级菜单的子菜单设置相同的高度。
阅读全文