You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MaterializeCSS 1.0如何自定义侧边导航栏宽度?

解决MaterializeCSS 1.0侧边导航自定义宽度的问题

嘿,刚好升级过Materialize到1.0版本,碰到过和你一样的问题,给你分享下解决方案:

Materialize 1.0确实移除了旧版的menuWidth参数,转而推荐用CSS来控制侧边导航的宽度,这样更灵活也符合现代样式管理的思路。具体操作可以分这几步:

1. 给侧边导航添加自定义类

首先给你的侧边导航容器加个专属类(比如custom-sidenav),避免影响其他侧边栏组件:

<ul class="sidenav custom-sidenav" id="mobile-demo">
  <!-- 侧边栏内容 -->
</ul>

2. 用CSS自定义宽度

根据你的需求,写对应的CSS样式。比如你要在小屏幕下让侧边栏占满屏幕宽度:

/* 小屏幕下(max-width:992px是Materialize的断点) */
@media only screen and (max-width: 992px) {
  .custom-sidenav {
    width: 100% !important;
    /* 如果你需要固定宽度,比如300px,就改成width: 300px !important; */
  }
}

小贴士:如果不想用!important,可以用更具体的选择器提高优先级,比如nav .custom-sidenav,这样能更优雅地覆盖默认样式。

如果要设置所有屏幕下的固定宽度,直接写:

.custom-sidenav {
  width: 320px; /* 替换成你需要的宽度值 */
}

3. 调整关闭按钮的调用方法

旧版的.button-collapse在1.0里已经改成了.sidenav,所以关闭侧边栏的方法也要更新:

// 先初始化侧边导航
$(document).ready(function(){
  $('.sidenav').sidenav();
});

// 关闭按钮的点击事件
$('.close-btn').click(function(){
  $('.sidenav').sidenav('close');
});

这样就能完美实现你之前的需求啦,CSS控制宽度比旧版的JS参数更灵活,还能轻松实现响应式调整~

内容的提问来源于stack exchange,提问作者omarmallat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:56:52