好程序员 分享 如何看待 CSS 中 BEM 的命名方式 ?BEM 的意识就是块 (block) 、元素 (element) 、修饰符 (modifier) ,是由 yandex 团队提出的一种 CSS Class 命名方法。
任何一个东西的存在都有其存在的道理,如果他毫无价值,那么肯定会被淘汰,后人可能都不了解,甚至都不会出现在后人的世界里。
关于 BEM 命名其最大的争议就是其命名风格,它鼓励一级一级的写的非常具体,但是会很长。如此常的命名会影响书写效率,名称过长代码量就会增多,文件体积就会变大 ( 在 gzip 下这个不算是个问题 ) ,从而会影响传输速度,用户体验度就低,但是作为一个职业人我们都不能单纯把个人喜好和习惯作为借口来拒绝或否定其用途。
风格对于使用者来说并不是很重要,关键的是看其效果。正所谓人们常说的 “不看疗程,看疗效”。
从扩展性上来看,嵌套过多阅读性差,超过 3 层就很难阅读了 ; 嵌套越多,选择器的层级也会随之增多,那么性能不知不觉就会变差 ; 如此长的名字,书写上想冲突都难。
从编程原则上来说,这种命名方式不会暴露抽象类。假如样式变了需要继承另一个抽象类,不需要改 HTML ,只需要改 css 即可。
团队开发中,风格无非是一种形式,可以约束人们达到一定程度上的统一。内部沟通会极大降低沟通成本。
BEM 命名的方法虽然有自身的不足之处,但至少他可以使我们命名的时候达到一定的统一,我们可以学习其优秀的方面将其纳为己用。在实际项目开发中将其巧妙而又灵活的运用起来也未尝不是一件坏事。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。