写一个html中wap手机折叠菜单代码
时间: 2024-09-23 17:04:29 浏览: 38
在HTML中创建一个响应式的WAP手机折叠菜单,可以使用CSS媒体查询以及HTML的`<nav>`、`<ul>`、`<li>`等元素。下面是一个简单的例子:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
/* 默认样式 */
nav {
background-color: #333;
padding: 10px;
}
nav ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
}
nav li {
position: relative;
}
nav a {
display: block;
color: white;
text-decoration: none;
padding: 15px 20px;
}
/* 手机端折叠样式 (当宽度小于600px) */
@media screen and (max-width: 600px) {
nav ul {
flex-direction: column;
max-height: 0;
overflow: hidden;
transition: max-height 0.5s ease;
}
nav.open ul {
max-height: 200px; /* 设置最大高度,你可以自定义 */
}
nav button {
display: block;
cursor: pointer;
width: 40px;
height: 40px;
border: none;
background-color: transparent;
position: absolute;
top: calc(50% - 20px);
right: 10px;
}
nav button span {
display: none;
}
nav.open button span {
display: inline-block;
transform: rotate(-90deg);
}
}
</style>
</head>
<body>
<nav class="open">
<button onclick="toggleMenu()">
<span></span>
</button>
<ul>
<li><a href="#">链接1</a></li>
<li><a href="#">链接2</a></li>
<li><a href="#">链接3</a></li>
</ul>
</nav>
<script>
function toggleMenu() {
var menu = document.querySelector('.open ul');
menu.classList.toggle('open');
}
</script>
</body>
</html>
```
这个例子中,当屏幕宽度小于600px时,导航菜单会折叠成垂直列表,点击按钮会展开或收起。这是通过CSS媒体查询和JavaScript事件处理来实现的。
阅读全文