BEM ,一种CSS命名方式
- BEM定义
是指B:block(块),E:element(元素),M:modifier(修饰符);是一种CSS命名方案。
写法:
.block{}
.block__element{}
.block__element--modifier{}
.block--modifier{}
举个栗子:
.nav{}
.nav__item{}
.nav--blue{}
.nav__item--red{}
-
作用
1、复杂甚至稍显冗长的类名 -> 极大减少了类名重复的可能性
2、每个块里的一类元素的样式对应一个类名。如此,一类元素对应一个类名,减少了子选择器或后代选择器的使用,提升了 css 的性能。
3、css 类名的命名更加语义化,更易懂。
4、可复用性高,例如我们可以把主题类名 form--theme-xmas 替换,即可对应替换为别的主题样式 -
更方便地使用BEM
less:
.form {
width: 12rem;
height: 6rem;
&__input{
font-size: 16px;
}
&__submit{
background: blue;
&--disabled{
background: gray;
}
}
}
编译后
.form {
width: 12rem;
height: 6rem;
}
.form__input {
font-size: 16px;
}
.form__submit {
background: blue;
}
.form__submit--disabled {
background: gray;
}
参考:
BEM的定义:http://www.w3cplus.com/css/bem-definitions.html
为什么我们要用BEM:https://www.zybuluo.com/lxjwlt/note/155372
如何更好的使用BEM:http://www.w3cplus.com/preprocessor/getting-sass-y-with-bem.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix