html5制作响应式二级菜单
时间: 2023-10-20 18:07:46 浏览: 145
要制作响应式的二级菜单,可以使用HTML5和CSS3的一些技术来完成。以下是一个基本的示例:
HTML代码:
```
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a>
<ul>
<li><a href="#">Our Story</a></li>
<li><a href="#">Meet the Team</a></li>
</ul>
</li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
```
CSS代码:
```
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
}
nav li {
position: relative;
}
nav a {
display: block;
padding: 10px;
color: #333;
text-decoration: none;
}
nav ul ul {
position: absolute;
top: 100%;
left: 0;
opacity: 0;
visibility: hidden;
background: #fff;
box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease-in-out;
}
nav ul li:hover > ul {
opacity: 1;
visibility: visible;
}
@media only screen and (max-width: 768px) {
nav {
flex-direction: column;
}
nav li {
width: 100%;
text-align: center;
}
nav ul ul {
position: static;
opacity: 1;
visibility: visible;
display: none;
margin-top: 10px;
}
nav ul li:hover > ul {
display: block;
}
}
```
在这个示例中,我们使用了HTML的`<nav>`元素来包含菜单列表。我们使用了CSS的flex布局来排列菜单项,并且使用了`position: relative`和`position: absolute`属性来控制子菜单的位置。
在CSS中,我们使用了媒体查询来检测屏幕大小,并在小屏幕上更改菜单的布局。我们使用了`flex-direction: column`来使菜单项垂直排列,并使用`display: none`和`display: block`来控制子菜单的显示和隐藏。
这只是一个基本的示例,你可以根据自己的需求进行调整和修改。
阅读全文