CSS 中 BEM 的命名方式
2018-01-31 18:17
483 查看
BEM的意识就是块(block)、元素(element)、修饰符(modifier),是由yandex团队提出的一种CSS Class命名方法。
任何一个东西的存在都有其存在的道理,如果他毫无价值,那么肯定会被淘汰,后人可能都不了解,甚至都不会出现在后人的世界里。
关于BEM命名其最大的争议就是其命名风格,它鼓励一级一级的写的非常具体,但是会很长。如此常的命名会影响书写效率,名称过长代码量就会增多,文件体积就会变大(在gzip下这个不算是个问题),从而会影响传输速度,用户体验度就低,但是作为一个职业人我们都不能单纯把个人喜好和习惯作为借口来拒绝或否定其用途。
风格对于使用者来说并不是很重要,关键的是看其效果。正所谓人们常说的“不看疗程,看疗效”。
从扩展性上来看,嵌套过多阅读性差,超过3层就很难阅读了;嵌套越多,选择器的层级也会随之增多,那么性能不知不觉就会变差;如此长的名字,书写上想冲突都难。
从编程原则上来说,这种命名方式不会暴露抽象类。假如样式变了需要继承另一个抽象类,不需要改HTML,只需要改css即可。
团队开发中,风格无非是一种形式,可以约束人们达到一定程度上的统一。内部沟通会极大降低沟通成本。
BEM命名的方法虽然有自身的不足之处,但至少他可以使我们命名的时候达到一定的统一,我们可以学习其优秀的方面将其纳为己用。在实际项目开发中将其巧妙而又灵活的运用起来也未尝不是一件坏事。
来源:千锋HTML5
任何一个东西的存在都有其存在的道理,如果他毫无价值,那么肯定会被淘汰,后人可能都不了解,甚至都不会出现在后人的世界里。
关于BEM命名其最大的争议就是其命名风格,它鼓励一级一级的写的非常具体,但是会很长。如此常的命名会影响书写效率,名称过长代码量就会增多,文件体积就会变大(在gzip下这个不算是个问题),从而会影响传输速度,用户体验度就低,但是作为一个职业人我们都不能单纯把个人喜好和习惯作为借口来拒绝或否定其用途。
风格对于使用者来说并不是很重要,关键的是看其效果。正所谓人们常说的“不看疗程,看疗效”。
从扩展性上来看,嵌套过多阅读性差,超过3层就很难阅读了;嵌套越多,选择器的层级也会随之增多,那么性能不知不觉就会变差;如此长的名字,书写上想冲突都难。
从编程原则上来说,这种命名方式不会暴露抽象类。假如样式变了需要继承另一个抽象类,不需要改HTML,只需要改css即可。
团队开发中,风格无非是一种形式,可以约束人们达到一定程度上的统一。内部沟通会极大降低沟通成本。
BEM命名的方法虽然有自身的不足之处,但至少他可以使我们命名的时候达到一定的统一,我们可以学习其优秀的方面将其纳为己用。在实际项目开发中将其巧妙而又灵活的运用起来也未尝不是一件坏事。
来源:千锋HTML5
相关文章推荐
- CSS命名方式=》BEM
- 问答:怎样规划CSS 中 的命名方式 怎样看待 CSS 中 BEM 的命名方式?
- 问答:如何规划CSS 中 的命名方式 如何看待 CSS 中 BEM 的命名方式?
- BEM —— 源自Yandex的CSS 命名方法论
- 提升CSS文件的可维护性--采用BEM进行CSS类进行命名
- CSS类命名的语义化VS结构化方式
- BEM命名方式,书写更优质的HTML
- bem(block,element,modifier)块,元素,修饰符,前端命名方法CSS 命名方案
- CSS命名规范——BEM思想
- Web站点设计css类以及id的命名方式
- CSS语义化命名方式及常用命名规则
- 常用的Css命名方式
- 项目复习期总结3:CSS引入方式,凝视,命名规范,背景,行高,文本属性
- CSS学习 -- 3种命名方式及规则
- CSS命名规范——BEM思想(非常赞的规范)
- CSS命名规范 BEM
- BEM命名方式
- 提升CSS文件的可维护性--采用BEM进行CSS类进行命名
- 项目复习期总结3:CSS引入方式,注释,命名规范,背景,行高,文本属性
- BEM —— 源自Yandex的CSS 命名方法论