Materialize框架通过Sidenav组件实现侧边栏显示隐藏。1. 引入CSS、JS和jQuery;2. 创建含data-target的触发按钮与sidenav结构;3. 使用M.Sidenav.init()初始化并用open/close/toggle控制状态;4. 可自定义样式及右滑、固定等行为,适配多端。

在使用 Materialize 框架时,创建一个可控制显示与隐藏的侧边栏(Sidebar)非常简单。Materialize 提供了内置的 Sidenav 组件,支持响应式布局和触摸滑动操作,适用于移动端和桌面端。
1. 引入 Materialize 基础资源
要使用 Materialize 的 Sidenav 功能,首先需要在项目中引入其 CSS 和 JavaScript 文件。可以通过 CDN 快速引入:
cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
2. 创建 Sidenav 结构
使用 nav 和 sidenav 元素构建基本结构。以下是一个左侧滑出式侧边栏的示例:
菜单
主内容区域
说明:
- data-target 指定要控制的 sidenav ID。
- sidenav-trigger 类让按钮自动触发侧边栏展开。
- sidenav-close 类用于点击链接后自动关闭侧边栏。
3. 控制侧边栏的显示与隐藏
Materialize 会自动初始化带有 sidenav 类的元素,但你也可以通过 JavaScript 手动控制其行为。
立即学习“前端免费学习笔记(深入)”;
例如,使用 jQuery 主动打开或关闭侧边栏:
// 初始化 sidenav(推荐在 DOM 加载完成后执行)document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.sidenav');
var instances = M.Sidenav.init(elems);
});
// 或者用 jQuery 风格调用
$(document).ready(function(){
$('.sidenav').sidenav();
});
// 手动打开
M.Sidenav.getInstance(document.getElementById('slide-nav')).open();
// 手动关闭
M.Sidenav.getInstance(document.getElementById('slide-nav')).close();
你也可以绑定自定义按钮来控制显示隐藏:
4. 自定义样式与行为
你可以通过修改 CSS 来调整侧边栏宽度、背景色等外观:
.sidenav {width: 250px;
background-color: #eee;
}
.sidenav li a {
color: #222;
}
Materialize 还支持多种类型侧边栏:
- 左侧滑出(默认)
- 右侧滑出:添加 right-aligned 类
- 固定侧边栏(在大屏上常显):结合 hide-on-med-and-down 等响应类灵活控制
基本上就这些。使用 Materialize 的 Sidenav 组件可以快速实现一个交互良好、适配多端的侧边栏,无需从零编写动画和事件逻辑。只要结构正确并完成初始化,显示隐藏控制就很轻松。










