haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……
http://www.h-camel.com
MIT License
25.29k stars 3.25k forks source link

[css] 第79天 说说你对BEM规范的理解,同时举例说明常见的CSS规范有哪些? #569

Open haizhilin2013 opened 5 years ago

haizhilin2013 commented 5 years ago

第79天 说说你对BEM规范的理解,同时举例说明常见的CSS规范有哪些?

encountermm commented 5 years ago

BEM:block(块)、element(元素)、modifier(修饰符),一种命名约定,可以让代码更易理解 如: .card .cardbody .cardbutton--primary

xiangshuo1992 commented 5 years ago

BEM是比较好的CSS规范,应该也是得到大家认可最多的CSS规范 OAMC是WeUI根据BEM改造来的 object-area-meta-control

还有OOCSS,面向对象的CSS书写规范。 不管哪种,解决问题,同时团队大家共同维护遵守的,才是好的规范和执行。

nowherebutup commented 5 years ago

1 .团队开发更规范 2 .通过css的命名就知道各个元素之间的关系

jiamianmao commented 5 years ago

再放出一个之前收藏赠予诸位。 http://luopq.com/2016/01/05/css-optimize/

haizhilin2013 commented 5 years ago

@jiamianmao 你会了吗?只要你会就好,这类的东西网上资料特别多,估计大家一搜就能搜到不少!

chenshijin1 commented 3 years ago

CSS BEM规范

好的样式手册能够显著提高开发速度,debug速度以及在原有代码上添加新功能的效率。规范标准我们都熟知并或多或少的应用于项目中,然而不幸的是在以往大多数css代码开发过程中很少很使用到命名规范,从长远看这会导致最后产生的CSS代码库很难维护,可移植性不高。

BEM方法确保开发项目的每一个人,基于一套代码规范去开发,这样非常有利于团队成员理解彼此的代码,而且对于后续接手项目的开发人员来说,也是一件好事。BEM - Block Element Modifier 它可以快速创建出可复用的前端组件和前端代码。

BEM是Block Element Modifier的缩写

BEM命名

<form action="" class="form form--theme-xmas form--simple">
    <input type="text" class="form__input">
    <input type="text" class="form__submit  form__submit--disabled">
</form>
<style>
    .form {}
    .form--thema-xmas {}
    .form--simple {}
    .form__input {}
    .form__submit {}
    .form__submit--disabled {}
</style>
MrZ2019 commented 3 years ago

1 .团队开发更规范 2 .通过css的命名就知道各个元素之间的关系