You need to enable JavaScript to run this app. BEM规范相关问题:如下代码是否违反BEM规范还是属于mix用法?
优惠活动
大模型
产品
解决方案
定价
更多

BEM规范相关问题:如下代码是否违反BEM规范还是属于mix用法?

BEM规范判断结论

你给出的代码如下:

<button class="corp-info__button-read-more button">Read More</button>

这段代码属于BEM标准的混合(mix)用法,没有违反BEM规范。

核心逻辑说明

  • BEM的混合机制本身就允许单个DOM节点绑定多个BEM实体,这是官方推荐的样式扩展方案
  • 这里的button是独立的块(Block),负责封装所有按钮通用的基础样式(比如默认内边距、边框圆角、基础点击交互等),可以脱离任何上下文单独使用
  • 这里的corp-info__button-read-more是隶属于corp-info块的元素(Element),只负责定义这个按钮在「企业信息」模块下的专属差异化样式(比如特殊配色、模块内的外边距、专属hover效果等),不能脱离corp-info上下文使用

这种写法的优势

  • 无需重复编写通用按钮的基础样式,大幅提升代码复用率
  • 模块专属样式和全局通用样式完全隔离,不会出现样式相互污染的问题,符合BEM的核心设计思想

常见误区澄清

不少初学者误以为BEM要求一个DOM节点只能对应一个BEM类,这是对BEM规范的错误理解。混合用法本身就是BEM原生支持的能力,专门用来解决通用组件在不同业务场景下的样式定制需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 01:54:01