当前位置: 首页 > article >正文

css命名规范——BEM

目录

引言

BEM是什么?

 块Block

元素Element

修饰语Modifier

BEM解决了哪些问题?

在流行框架的组件中使用 BEM 格式

实战

认识设计图

如何使用当前的css规范正确命名?


引言

css样式类命名难、太难了,难于上青天,这个和js变量命名还不一样。看看项目中五花八门的样式类命名

如何简单且规范的命名样式类呢?

BEM是什么?

BEM代表块(Block),元素(Element),修饰符(Modifier)。无论是什么页面,都可以拆解成这三部分。

BEM是由Yandex公司推出的一套CSS命名规范,官方是这么描述它的:

BEM是一种让你可以快速开发网站并对此进行多年维护的技术。

BEM是一种命名方法,能够帮助你在前端开发中实现可复用的组件和代码共享。

 块Block

特征:

  1. 代表了更高级别的抽象或组件
  2. 块名称描述的它的目的是为了表达“这是什么“
  3. 块名称定义的是命名空间,它保证元素依赖于块
  4. 块的嵌套:
    1. 块可以互相嵌套
    2. 可以有任意数量的嵌套层

应用:

  1. 块可以嵌套在任何其他块内。

例如:head块可以包括徽标 ( logo)、搜索表单 ( search) 和授权块 ( auth)。

元素Element

特征:

  1. 代表块 的后代,用于形成一个完整的块的整体
  2. 元素名称描述的也是“这是什么”
  3. 它不能单独使用,是块的组成部分
  4. 元素的嵌套:
    1. 元素可以互相嵌套
    2. 可以有任意数量的嵌套级别
    3. 元素始终是块的一部分,也不是另一个元素,这意味着元素名称办呢定义层次结构

应用:

  1. 元素是块的组成

http://www.kler.cn/a/518547.html

相关文章:

  • ES6 类语法:JavaScript 的现代化面向对象编程
  • Linux Futex学习笔记
  • 记录备战第十六届蓝桥杯的过程
  • 【2024年华为OD机试】 (A卷,100分)- 整理扑克牌(JavaScriptJava PythonC/C++)
  • 延迟之争:LLM服务的制胜关键
  • [java] 面向对象进阶篇1--黑马程序员
  • Java 中的设计模式:经典与现代实践
  • 【RK3588嵌入式图形编程】-SDL2-检测和管理错误
  • web速览
  • 【MARK】Cline配合FreeAPI,再薅亿点点token
  • [央企大赛 2025] pwn
  • http的请求体各项解析
  • 【Qt 常用控件】显示类控件1(QLabel)
  • tensorflow,cuda,cudnn,pycharm安装踩坑过程记录
  • 什么时候用MPP,什么时候用TiDB?
  • PyTorch 模型 浅读
  • WPS按双字段拆分工作表到独立工作簿-Excel易用宝
  • 深度解读:Facebook 区块链技术架构与应用前景
  • 升级到Mac15.1后pod install报错
  • Java 大视界 -- Java 大数据中的知识图谱构建与应用(62)
  • 2.1.3 第一个工程,点灯!
  • one-hot (独热编码)
  • 开发基于WebRTC和OpenAI实时API的AI语音助手框架:技术解析与最佳实践
  • 后盾人JS -- Map与WeakMap类型在JavaScript中的使用
  • PHP场馆预定系统小程序
  • Linux系统:Ubuntu替换镜像源具体方法;