
本教程将指导您如何仅使用HTML、CSS和少量JavaScript代码构建一个响应式侧边导航栏菜单。该侧边栏将具备以下功能:
- 移动设备上的切换按钮,用于打开和关闭侧边栏。
- 桌面设备上可折叠的菜单,可在展开视图和图标视图之间切换。
我们将分三个主要步骤完成:构建HTML结构创建侧边栏的基础,使用CSS进行样式设计以确保布局在视觉上吸引人且具有响应性,最后使用JavaScript添加交互性,实现视图之间的动态切换。
1. HTML结构
首先,定义页面的基本结构,包括侧边栏(sidenav)、切换按钮和内容区域:
立即学习“Java免费学习笔记(深入)”;
响应式侧边导航栏
欢迎
Lorem ipsum dolor sit amet...
解释:
-
元素包含侧边栏菜单。 - 切换按钮 (
) 用于显示/隐藏侧边栏。 -
部分表示主要内容区域。
2. CSS样式
接下来,为侧边栏和主要内容区域设置样式,并使其具有响应性:
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: Arial, sans-serif;
display: flex;
overflow: hidden;
}
button.toggle {
z-index: 10;
position: fixed;
left: 12px;
top: 10px;
background-color: https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b575757;
color: white;
border: none;
padding: 10px;
cursor: pointer;
}
nav {
width: 250px;
height: 100vh;
background-color: https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b333;
transition: all 0.3s;
padding-top: 60px;
/* ... (其余样式保持不变) ... */
}
/* ... (其余样式保持不变) ... */
解释:
- 侧边栏初始宽度为 250px,最小化时收缩到 60px。
- 在移动设备上(最大宽度:768px),侧边栏默认隐藏 (left: -250px),激活时滑动显示。
- 切换按钮固定在左上角。
3. JavaScript交互
最后,添加JavaScript代码处理侧边栏的切换:
function toggleSidenav() {
const sidenav = document.querySelector("https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bsidenav");
if (window.innerWidth <= 767) {
sidenav.classList.toggle("active");
} else {
sidenav.classList.toggle("min");
}
}
document.querySelector(".toggle").addEventListener("click", toggleSidenav);
解释:
该函数检查屏幕是否为移动设备(最大宽度:767px)。如果是移动设备,则切换 active 类以显示/隐藏菜单;如果是桌面设备,则切换 min 类以折叠/展开菜单。
结论
通过以上设置,我们得到一个响应式的侧边导航栏:
- 在桌面设备上可以展开和折叠。
- 在移动设备上可以滑动显示和隐藏。
JavaScript 用于实现交互功能。 查看演示效果了解完整实现。











