2020年你还没用BEM?

本文介绍了BEM——一种CSS命名规范,旨在提升代码可读性和维护性。BEM由block、element和modifier组成,通过block__element–modifier的形式进行书写。文章讨论了BEM的优势,以及如何在实践中应用,包括避免元素嵌套和合理使用层级。同时提到,仅使用BEM可能不足以完全表达class含义,可以结合其他命名空间增强表达。最后,作者建议关注前端Jsoning了解更多前端知识。
摘要由CSDN通过智能技术生成

当你看到一个class的时候,你想得到什么?

  • 这个class用在什么地方,作用是什么?
  • 是否在其他地方也有使用该class,修改会不会引起其他地方的样式问题?
  • class 是否在js中被使用?
  • 等等等等

此时,你最想一眼看到这个class就解决以上所有的问题,那么就引入了今天的主题 BEM—css命名规范

当你第一次看到css包含着-、__、–、- 这些乱七八糟的字符时,脸上笑嘻嘻,心里***。当我第一次看到这样的css的时候,我也没法冷静的看完,但是当你在工作中使用这些css命名规范的时候,不知不觉你会发现,这些符号带来的优势,要远比多写几个字符要多的多

BEM介绍

  • BEM,它代表 blockelementmodifier ,blcok可以理解成独立的块,在页面中该块的移动并不会影响到内部样式(和组件的概念类似,独立的一块),element就是块下面的元素,和块有着藕断丝连的关系,modifier是表示样式大小等
  • BEM是一种非常有用,功能强大且简单的命名约定,它使您的前端代码更易于阅读和理解,易于使用,易于扩展,更健壮和明确,并且更加严格。
  • BEM方法可确保参与网站开发的每个人都使用单一代码库,并且使用相同的语言。使用正确的命名将使您为网站设计的更改做好准备。
  • BEM可以用于js中,在JavaScript中并进行模板化,但是需要特殊的框架(暂不深入探索)

BEM的写法

  • block__element–modifier 或者 block__element_modifier(个人更倾向于第一种写法)
  • 单词之间使用(-)分隔(file-name
  • 元素名称通过双下划线(__)与块名称分隔(block__element)
  • 修饰符名称通过单个下划线(–)与块或元素名称分隔,也可以使用_(block–modifier / element–modifier)

这部分是elementUI部分代码写法,使用的也是BEM写法

<div class="el-row">
  <button class="el-button el-button--primary">主要按钮</button>
  <button class="el-button el-button--success">成功按钮</button>
  <div class="el-row__wrap>
    <p class="el-row__wrap--bar"></p> 
  </div> 
</div>

注:

  • BEM方法中不存在元素的元素,即block-blo
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
BEM命名法是一种用于HTMLCSS的命名约定,它的名称来自其三个部分:块(Block)、元素(Element)和修饰符(Modifier)。BEM的目标是创建具有高可重用性、易于理解和维护的代码。 下面是一个具体的例子,我们想要创建一个带有标题、列表和按钮的简单组件: ```html <div class="component"> <h2 class="component__title">Component Title</h2> <ul class="component__list"> <li class="component__list-item">Item 1</li> <li class="component__list-item">Item 2</li> <li class="component__list-item">Item 3</li> </ul> <button class="component__button component__button--disabled">Disabled Button</button> </div> ``` 在这个例子中,我们使用BEM命名法来命名我们的组件和组件内的元素和修饰符。以下是每个部分的解释: - 块(Block):`component`是我们的块。它表示整个组件。 - 元素(Element):`title`、`list`和`list-item`是我们的元素。它们是组件内部的子元素,与块相关联。 - 修饰符(Modifier):`button--disabled`是我们的修饰符。它表示一个特定的状态或变化,例如按钮的禁用状态。 使用BEM命名法的好处是,它可以帮助我们更清晰地组织和描述我们的代码。通过明确地命名块、元素和修饰符,我们可以更容易地理解代码的结构和意图。此外,由于BEM具有一致的命名规则,它也可以帮助团队协作开发,并提高代码的可重用性和可维护性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值