如何在CSS中使用Materialize制作侧边栏_Materialize侧边栏组件控制显示隐藏

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 快速引入:






2. 创建 Sidenav 结构

使用 navsidenav 元素构建基本结构。以下是一个左侧滑出式侧边栏的示例:


菜单



      
  • 首页

  •   
  • 关于

  •   
  • 联系




ain>
  

主内容区域


说明:
- 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 组件可以快速实现一个交互良好、适配多端的侧边栏,无需从零编写动画和事件逻辑。只要结构正确并完成初始化,显示隐藏控制就很轻松。