请帮我用html和css做一个美观的导航栏,共五个导航菜单,横向排列,每个导航菜单高度为30px,宽度为80px,鼠标点击激活的菜单背景色变为蓝色,字体变为白色,没有激活的菜单背景色跟网页背景色一样都是白色,字体为黑色,当鼠标掠过顶级导航菜单的时候,这个顶级菜单背景色变为蓝色,并同时展出二级菜单,每个顶级菜单下边都有三个二级菜单,每个二级菜单刚展出的时候背景颜色都是灰色,字体是黑色,当鼠标掠过二级菜单的时候,颜色变成蓝色,如果点击激活了二级菜单,那么松开鼠标的时候,二级菜单隐藏,它的父级菜单就变为激活的菜单。请帮我编写html代码以实现以上效果,可以同时使用css,但不允许用js等其他技术语言。
时间: 2023-10-05 07:08:17 浏览: 91
好的,我可以为您提供一个html和css的代码示例,实现您的要求。以下是代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>导航栏</title>
<style>
/* 重置默认样式 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* 设置导航栏样式 */
nav {
background-color: white;
padding: 10px;
display: flex;
justify-content: space-between;
align-items: center;
height: 30px;
}
/* 设置导航菜单样式 */
nav ul {
list-style: none;
display: flex;
align-items: center;
}
nav ul li {
height: 30px;
width: 80px;
text-align: center;
line-height: 30px;
position: relative;
}
/* 设置二级菜单样式 */
nav ul li ul {
list-style: none;
position: absolute;
top: 30px;
left: 0;
background-color: #f5f5f5;
display: none;
width: 240px;
padding: 10px;
}
nav ul li ul li {
height: 30px;
line-height: 30px;
text-align: center;
}
/* 设置菜单点击激活样式 */
nav ul li.active {
background-color: blue;
color: white;
}
/* 设置二级菜单点击激活样式 */
nav ul li ul li.active {
background-color: blue;
color: white;
}
/* 设置菜单鼠标悬停样式 */
nav ul li:hover {
background-color: blue;
color: white;
cursor: pointer;
}
/* 设置二级菜单鼠标悬停样式 */
nav ul li ul li:hover {
background-color: blue;
color: white;
cursor: pointer;
}
/* 设置鼠标悬停展示二级菜单 */
nav ul li:hover ul {
display: block;
}
</style>
</head>
<body>
<nav>
<ul>
<li class="active">菜单1
<ul>
<li>二级菜单1</li>
<li>二级菜单2</li>
<li>二级菜单3</li>
</ul>
</li>
<li>菜单2
<ul>
<li>二级菜单1</li>
<li>二级菜单2</li>
<li>二级菜单3</li>
</ul>
</li>
<li>菜单3
<ul>
<li>二级菜单1</li>
<li>二级菜单2</li>
<li>二级菜单3</li>
</ul>
</li>
<li>菜单4
<ul>
<li>二级菜单1</li>
<li>二级菜单2</li>
<li>二级菜单3</li>
</ul>
</li>
<li>菜单5
<ul>
<li>二级菜单1</li>
<li>二级菜单2</li>
<li>二级菜单3</li>
</ul>
</li>
</ul>
</nav>
</body>
</html>
```
您可以将以上代码直接复制到一个HTML文件中,并在浏览器中查看效果。希望这能够帮到您!
阅读全文