CSS 中 BEM命名方式

BEM的意思就是块(block)、元素(element)、修饰符(modifier),是一种CSS Class 命名方法。

类似于:

.block{}
.block__element{}
.block--modifier{}

__双下划线代表B和E连接例如 menu__item
_单下划线代表B和M或E和M的连接 例如 menu_active 或 menu__item_active
-中划线同英语里做连字符例如 mod-menu 或 mod-menu__item 这里 B或E或M需要多个单词来描述,就使用中划线

了解什么是 B.E.M

Block
将所有东西都划分为一个独立的模块,一个header是block,header里嵌套的搜索框是block,甚至一个icon一个logo也是block
block可以相互嵌套

Element
一个Block下的所有Element无论相互层级如何,都要摊开扁平的属于Block
所以 BEM 最多只有 B+E+M 三级,不可能出现 B+E+E+..+E+M 超长class名,也要求E不能同名

Modifier
之前我们经常写的 .current .active 等表达状态

原文地址:https://www.cnblogs.com/anyun/p/8297640.html

时间: 2024-10-05 01:53:18

CSS 中 BEM命名方式的相关文章

问答:如何规划CSS 中 的命名方式 如何看待 CSS 中 BEM 的命名方式?

好多盆友 很纠结 css命名规则 怎么弄,还没起步就被绊住了,那么今天蝈蝈就针对这个问题来讨论一下 没什么技术 含量,但却对效率开发至关重要的 "问题". 下文是一些知乎大神的个人经验总结,如果觉得有用请点赞 留言! JS前端实用开发QQ群 :147250970  欢迎加入~! 如何看待 CSS 中 BEM 的命名方式? BEM的意思就是块(block).元素(element).修饰符(modifier),是由Yandex团队提出的一种CSS Class 命名方法. 类似于: .blo

中文字体在CSS中的表达方式

在写一个网站的样式表的时候,都会不可避免地用到一些中文字体,比如说微软雅黑.黑体等,除非是做英文站,或者说你乐意整站都用浏览器默认的字体,那我也算服了U.在 CSS 中写入中文字体的方法一般采用 font-family:"微软雅黑","黑体";这样类似的表达方式,但是对于像 WordPress 这样需要 UTF8 编码平台来说,一个不注意没有转换编码就会导致中文字体无法按照希望的字体表形出来.所以我们可以通过英文.unicode 这种形式来表达中文,比如说刚才的 f

BEM命名方式,书写更优质的HTML

BEM是Block, Element, Modifier. 一种class的命名习惯.在这种CSS方法学中,一个block就是一个component的顶级抽象,例如一个button: .btn { }.这里的block应该被当作是一个parent,child items 或者elements, 可以被放在block里面,然后 用在block 名字的后面加两个下划线的方式来表明,例如:.btn__price { } 最后,modifier可以用来操作block, 这样我们就可以style 特定的c

Atitit.css 规范 bem  项目中 CSS 的组织和管理

Atitit.css 规范 bem  项目中 CSS 的组织和管理 1. 什么是BEM?1 1.1. 块(Block)2 1.2. 元素(Element)2 1.3. BEM树(和DOM树类似).3 1.4. 修饰符(modifier)的3 2. 块的独立性4 3. 独立的CSS4 3.1. 为独立的CSS类命名5 4. BEM争议最大的就是它的命名风格 6 5. OOCSS6 6. ACSS6 7. CSS 组织和管理 结论attilax总结7 8. Atibem7 8.1. Modifier

CSS模块化思想-----命名是个技术活

CSS模块化思想(一)--------命名是个技术活 引子: 女孩子都喜欢买衣服,而我也不例外,奈何钱包太瘦,买不起高大上的定制,只能买撞衫率极高的休闲衣,不过对于我来说,我还是开心的,毕竟买衣服买的不仅是衣服,更是一种心情.在web前端的世界里,css里也充满了生活的艺术,都说,艺术源于生活,却高于生活,是对生活的一种升华,那么在css里,是个性化的定制好,还是模块化的量产好呢?这就要看各个项目了,这是一种权衡,一切离不开一个度,这世上没有最好的,只有最适合自己的,在web前端的世界里亦是如此

CSS中的BEM命名

BEM是一个非常有用,强大,简单的命名约定. 它能让前端代码更容易阅读和理解,更容易协作,更容易控制,更加健壮和明确而且更加严密,更加容易地维护代码. BEM命名思路: .block{} .block__element{} .block--modifier{} .block{} .block__element{} .block--modifier{} 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.原文: http://www.w3cplus.com/css/mindbemd

更好用的css命名方式——BEM命名

一.什么是BEM? BEM代表块(Block),元素(Element),修饰符(Modifier).无论是什么网站页面,都可以拆解成这三部分. 二.带你认识网页 我们来看一下qq的官网,它可以由三个块组成:logo,导航nav和页面主题mian三个模块构成,如果再细分一下呢?logo是由图片和文字两个元素组成,导航由三个元素组成,页面主题中包含图片,文字和按钮三个元素, 如果把一个块看作是一个数组的话,那么元素就是数组中的每一项. 什么是修饰符呢?你可以看作是元素的属性,或者是他的形态.状态,比

CSS那些事!这个篇幅是我特意开的,不是因为帮助小菜之类的,而是在多人的团队配合中各种命名冲突的规范让人蛋疼

CSS那些事!这个篇幅是我特意开的,不是因为帮助小菜之类的,而是在多人的团队配合中各种命名冲突的规范让人蛋疼. css这个东西只要不是新的离谱都会写,但是每个人的命名风格,方法,都不同 有人喜欢驼峰,有人觉得-不错,有的人觉得_很方便,最后有的英文命名,有的干脆拼音....囧 http://www.cnblogs.com/LoveOrHate/category/682181.html 然后没有统一的格式,造成的结果...我爆炸了... 当然经常和团队合作的也就不用看了 这些文章我是专门找啊找,找

CSS中清除浮动的两种方式

在CSS中,父元素中的子元素如果使用了float,会导致父元素塌陷,高度为0. 对于这种情况,常见的解决方式有两种. 一.增加新的div,应用clear:both属性 html: 1 <div class="father"> 2 <div class="div1">1</div> 3 <div class="div2">2</div> 4 <div class="div3