1.什么是BEM命名规范?

文字定义不说,看dem0:

解释:

  • block 代表了更高级别的抽象或组件。
  • .block__element 代表.block的后代,用于形成一个完整的.block的整体。
  • .block--modifier代表.block的不同状态或不同版本。

用bem命名的好处是:

1.规定。适合前端团队的CSS写法规范化。

2.既然是规范,就特别适合阅读,让CSS也变得易阅读。

3.规范的写法,自然就特别适合用计算机编程实现。

看有赞组件库源码为例:

css代码:

js代码:

此处的bem就是下面的createBEM。

这里的gen方法如下:

可以看出,用bem名称CSS就很容易跟js结合起来写。

注意点:

1.如果有明显的父子关系,状态关系,可以用bem名称css 的class名字。如果是通用的class名字,比如left, right等可以抽取出来放在commom.css里面的,就不用bem命名了。也便于维护管理,没必要很死板,都用bem规范命名。

从有赞UI组件库看CSS BEM命名规范的好处相关推荐

  1. 【前端开发】CSS BEM命名规范

    目录 1.BEM 2.实战 Block Element Modifier 3.总结 1.BEM BEM其实是块(block).元素(element).修饰符(modifier)的缩写,利用不同的区块, ...

  2. LCUI.css 0.1.2 发布, 基于 LCUI 开发的 UI 组件库

    开发四年只会写业务代码,分布式高并发都不会还做程序员? >>>   LCUI.css 是一个适用于 LCUI 应用程序的 UI 组件库,使用 C 语言编写,提供了一些通用的组件和 c ...

  3. 16款优秀的Vue UI组件库推荐

    16款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可. 在公司的Web前端项目开发中,多个项目采用 ...

  4. Vue3 的学习教程汇总、源码解释项目、支持的 UI 组件库、优质实战项目

    大家好,我是你们的 猫哥,一个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 关于猫哥,大家可以看看我的年终总结 前端工程师的 2020 年终总结 - 3 年之痒. 前言 猫哥是一个常年混迹在 GitHub 上 ...

  5. 17款优秀的Vue UI组件库汇总

    17款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可. 在公司的Web前端项目开发中,多个项目采用 ...

  6. Vue2 - 网易云音乐项目笔记(基于Vant UI组件库)

    目录 一.项目技术 二.准备工作 1.初始化Vue项目 2.配置Vant UI组件库 3.下载并使用vue-router库 4.接口API 5.postcss插件 三.分析页面实现功能 1.路由页面准 ...

  7. Vue UI组件库总结推荐

    基于Vue的Quasar Framework 介绍 这个框架UI组件很全面,准备下次使用这个框架了 基于Vue的Quasar Framework 中文网 http://www.quasarchs.co ...

  8. 优秀的Vue UI组件库

    Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可.在公司的Web前端项目开发中,多个项目采用基于Vue的UI组件框架开发,并投入正 ...

  9. 5 款最棒的 Vue 移动端 UI 组件库 - 特别针对国内使用场景推荐

    本文完整版:<最棒的 Vue 移动端 UI 组件库 - 特别针对国内使用场景推荐> Vue 移动端 UI 组件库推荐 Vant 3 - 有赞移动 UI 组件库,支持 Vue 3 微信小程序 ...

  10. 2022-04-05 学习记录--React-React UI组件库-ant-design(蚂蚁金服)—— 按需引入样式 + 自定义主题

    一.流行的开源React UI组件库 流行的开源React UI组件库 material-ui(国外) 1.官网:http://www.material-ui.com/#/ 2.github:http ...

最新文章

  1. 第五章 Mininet常用命令参数介绍
  2. html5 jq图片效果,HTML5 jQuery可左右滑动拖拉的照片处理前后对比界面
  3. APP应用 HTTP/1.0中keep-alive
  4. [html] 如何使用纯html制作一个进度条?
  5. 持久化雪花视图实例学习
  6. Spring-data-jpa常用方法
  7. (数据库系统概论|王珊)第十章数据库恢复技术:习题
  8. 带有哨兵的双向循环链表
  9. 【BZOJ3958】[WF2011]Mummy Madness 二分+扫描线+线段树
  10. Python中判断字符串中是否包含另一个字符串
  11. Educoder 机器学习之随机森林算法 第3关:手写数字识别
  12. 祝贺自己的软件《万能数据库查询分析器》在中关村在线下载量超过10万次
  13. 一些常用的css小技巧
  14. PCL中的点云分割算法
  15. 大数据--论文读后感
  16. R语言使用lm函数构建多元回归模型(Multiple Linear Regression)、并根据模型系数写出回归方程、使用fitted函数计算出模型的拟合的y值(响应值)向量
  17. spring-day04_JdbcTemplate声明式事务
  18. mysql ddl 导致tmp空间溢出并报错
  19. 江苏计算机一级证书考试试题,2016年江苏省计算机一级考试试题
  20. 悲观锁和乐观锁的理解以及实现方式-学习笔记

热门文章

  1. 【统计信号处理检测理论:CFAR检测】
  2. STAP旁瓣干扰抑制与干扰对抗仿真
  3. URAL 2037 Richness of binary words
  4. 交通信号灯的检测与识别
  5. python playsound 音量_Win32 PlaySound:如何控制音量?
  6. javascript 倒计时插件
  7. 支付路由适配服务技术实现
  8. 【vuejs】有关UI框架“ydui”中的tabbar底部导航的应用以及tabbar切换激活状态的现实
  9. 高等数学——二重积分的计算方法
  10. 做自媒体4大免费网站,帮助我们更快上手运营