尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Material Dashboard Lite中的BEM命名规范:写出更清晰的CSS代码

Material Dashboard Lite中的BEM命名规范:写出更清晰的CSS代码
📅 发布时间:2026/7/5 16:45:54

Material Dashboard Lite中的BEM命名规范:写出更清晰的CSS代码

【免费下载链接】material-dashboard-liteA free dashboard template with material design lite项目地址: https://gitcode.com/gh_mirrors/ma/material-dashboard-lite

Material Dashboard Lite作为一款免费的Material Design风格仪表板模板,其CSS代码采用了BEM(Block-Element-Modifier)命名规范,帮助开发者构建模块化、可维护的样式系统。本文将详细解析BEM命名规范在该项目中的应用实践,让你轻松掌握写出清晰CSS代码的终极技巧。

什么是BEM命名规范?

BEM是一种前端CSS命名方法论,通过将样式分为块(Block)、元素(Element)和修饰符(Modifier)三个部分,实现代码的高可读性和低耦合性。在Material Dashboard Lite中,这一规范贯穿于所有SCSS文件,如src/card/card.scss中就包含了典型的BEM命名示例:

.mdl-card__title { /* 元素(Element) */ } .mdl-card__supporting-text { /* 元素(Element) */ } .badge--colored-green { /* 修饰符(Modifier) */ }

图:采用BEM规范构建的Material Dashboard Lite界面组件

BEM在Material Dashboard Lite中的核心应用

1. 块(Block):独立功能模块

块是页面中独立存在的功能组件,在项目中通常以单一类名表示。例如:

  • src/button/button.scss中的.mdl-button
  • src/menu/menu.scss中的.mdl-menu
  • src/widgets/todo/todo.scss中的.todo

这些块级组件可以直接在HTML中使用,如按钮组件:

<button class="mdl-button">点击按钮</button>

2. 元素(Element):块的组成部分

元素是块的子组件,通过双下划线__与块名连接。在src/card/card.scss中可以看到典型应用:

.mdl-card__title { /* 卡片标题 */ } .mdl-card__supporting-text { /* 卡片辅助文本 */ } .mdl-card__actions { /* 卡片操作区域 */ }

这种命名方式清晰表明了元素与块的从属关系,使代码结构一目了然。

3. 修饰符(Modifier):状态与变体

修饰符用于表示组件的不同状态或变体,通过双连字符--连接。项目中的修饰符主要用于颜色变体和状态切换,如:

颜色变体(来自src/badge/badge.scss):

.badge--colored-green { /* 绿色徽章 */ } .badge--colored-red { /* 红色徽章 */ } .badge--colored-teal { /* 青色徽章 */ }

状态切换(来自src/toggles/toggles.scss):

.checkbox--colored-orange { /* 橙色复选框 */ } .switch--colored-green { /* 绿色开关 */ }

图:使用BEM修饰符实现的多种颜色状态组件

如何在项目中实践BEM规范?

快速识别BEM模式

在Material Dashboard Lite的SCSS文件中,BEM模式有明显特征:

  • 块:单一类名,如.mdl-data-table(src/data-table/data-table.scss)
  • 元素:块名__元素名,如.mdl-menu__outline(src/menu/menu.scss)
  • 修饰符:块名--修饰符或元素名--修饰符,如.slider--colored-purple(src/slider/slider.scss)

最佳实践示例

以卡片组件为例,完整的BEM应用如下:

<div class="mdl-card"> <div class="mdl-card__title">卡片标题</div> <div class="mdl-card__supporting-text">卡片内容</div> <div class="mdl-card__actions mdl-card__actions--colored"> <button class="mdl-button">操作按钮</button> </div> </div>

对应的SCSS代码(src/card/card.scss):

.mdl-card { /* 块样式 */ } .mdl-card__title { /* 元素样式 */ } .mdl-card__actions--colored { /* 修饰符样式 */ }

BEM规范带来的实际 benefits 🚀

  1. 提高代码可读性:通过命名直接了解组件结构和关系
  2. 降低样式冲突:模块化命名避免全局样式污染
  3. 增强可维护性:组件独立,修改样式不影响其他模块
  4. 团队协作友好:统一命名规范减少沟通成本

在Material Dashboard Lite中,遵循BEM规范的文件还包括:

  • src/widgets/employer-form/employer-form.scss
  • src/helper.scss
  • src/layout/layout.scss

图:采用BEM规范组织的项目文件结构

总结:写出专业CSS的简单方法

掌握BEM命名规范是提升CSS代码质量的关键一步。通过本文介绍的Block-Element-Modifier命名模式,结合Material Dashboard Lite项目中的实际应用案例,你可以轻松构建出清晰、可维护的样式系统。记住:好的命名是代码自文档化的基础,而BEM正是实现这一目标的强大工具。

现在就打开项目中的src/application.scss,尝试用BEM规范分析整个样式系统的结构吧!

【免费下载链接】material-dashboard-liteA free dashboard template with material design lite项目地址: https://gitcode.com/gh_mirrors/ma/material-dashboard-lite

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

  • ComfyUI-WanVideoWrapper:基于稀疏注意力与混合精度计算的视频生成性能突破
  • midir新手入门:5分钟快速搭建你的第一个MIDI程序
  • Spotube终极指南:免费音乐流媒体的开源革命,告别Spotify付费时代!

最新新闻

  • 从axlsx_rails到caxlsx_rails:迁移指南与新特性详解
  • 深度解析BatteryML:构建企业级电池寿命预测机器学习平台的技术实现
  • Pillar Valley游戏音效与触觉反馈:集成expo-haptics的完整指南
  • Opslane代码审查工具:实时差异查看与变更管理
  • BilibiliDown:5分钟打造你的B站视频离线图书馆
  • 免费查AIGC平台推荐:中英文AIGC痕迹一键检测

日新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号