请帮我用html和css写一个二级菜单,其中顶部为一级菜单,点击一级菜单之后在页面的左侧显示二级菜单
时间: 2024-02-27 20:56:15 浏览: 69
好的,以下是一个简单的示例:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>二级菜单</title>
<style>
/* 一级菜单样式 */
.nav {
background-color: #333;
color: #fff;
display: flex;
justify-content: space-between;
padding: 10px;
}
.nav > li {
margin-right: 30px;
list-style: none;
cursor: pointer;
}
.nav > li:hover {
text-decoration: underline;
}
/* 二级菜单样式 */
.submenu {
display: none;
}
.submenu > li {
list-style: none;
margin: 5px 0;
}
</style>
</head>
<body>
<ul class="nav">
<li class="menu-item">菜单1</li>
<li class="menu-item">菜单2</li>
<li class="menu-item">菜单3</li>
</ul>
<ul class="submenu">
<li>子菜单1</li>
<li>子菜单2</li>
<li>子菜单3</li>
</ul>
<script>
const menuItems = document.querySelectorAll('.menu-item');
const submenu = document.querySelector('.submenu');
// 点击一级菜单显示二级菜单
menuItems.forEach(item => {
item.addEventListener('click', () => {
submenu.style.display = 'block';
})
})
</script>
</body>
</html>
```
解释一下代码:
首先,我们在页面中定义了一个顶部导航栏,其中包含了三个一级菜单项。在 CSS 中,我们设置了一级菜单的样式,包括背景颜色、文字颜色、间距等。
接下来,我们定义了一个二级菜单,将其初始状态设置为隐藏。在 CSS 中,我们设置了二级菜单的样式,包括隐藏、列表样式、间距等。
最后,我们使用 JavaScript 监听一级菜单的点击事件,当点击时将二级菜单显示出来。具体实现是通过获取一级菜单的所有元素,然后遍历并为每个元素添加点击事件监听器,点击时将二级菜单的 `display` 属性设置为 `block`。
需要注意的是,这只是一个简单的示例,实际应用中还需要考虑更多的细节和交互效果。
阅读全文