CSS中BEM命名规范实例分析
这篇文章主要讲解了“CSS中BEM命名规范实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS中BEM命名规范实例分析”吧!
创新互联公司致力于成都网站建设、成都网站设计,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联公司,就选择了安全、稳定、美观的网站建设服务!
一什么是BEM命名规范
Bem是块(block)、元素(element)、修饰符(modifier)的简写,由Yandex团队提出的一种前端CSS命名方法论。
-中划线:仅作为连字符使用,表示某个块或者某个子元素的多单词之间的连接记号。
__双下划线:双下划线用来连接块和块的子元素
_单下划线:单下划线用来描述一个块或者块的子元素的一种状态
BEM是一个简单又非常有用的命名约定。让你的前端代码更容易阅读和理解,更容易协作,更容易控制,更加健壮和明确,而且更加严密。
1.BEM命名模式
BEM命名约定的模式是:
.block{}
.block__element{}
.block--modifier{}
每一个块(block)名应该有一个命名空间(前缀)
block代表了更高级别的抽象或组件。
block__element代表.block的后代,用于形成一个完整的.block的整体。
block--modifier代表.block的不同状态或不同版本
使用两个连字符和下划线而不是一个,是为了让你自己的块可以用单个连字符来界定。如:
.sub-block__element{}
.sub-block--modifier{}
2.BEM命名法的好处
BEM的关键是,可以获得更多的描述和更加清晰的结构,从其名字可以知道某个标记的含义。于是,通过查看HTML代码中的class属性,就能知道元素之间的关联。
常规的命名法示例:
这种写法从DOM结构和类命名上可以了解每个元素的意义,但无法明确其真实的层级关系。在css定义时,也必须依靠层级选择器来限定约束作用域,以避免跨组件的样式污染。
使用了BEM命名方法的示例: