前端开发之Pascal命名规范 & BEM命名规范

栏目: CSS · 发布时间: 5年前

内容简介:与前端开发普遍采用的驼峰式命名发不同的是,Pascal(帕卡斯)命名法采用的首字母大写,在类、方法(函数)和属性命名的规范上采用驼峰式命名法,在方法上可以选择采用pascal命名法Bem 是块(block)、元素(element)、修饰符(modifier)的简写利用不同的区块,功能以及样式来给元素命名。官网block代表一个组,而element代表组里面的成员,而modifier,虽然在上图没有画出,但是可以知道这个则是用于描述每一个元素的具体的属性。

与前端开发普遍采用的驼峰式命名发不同的是,Pascal(帕卡斯)命名法采用的首字母大写,在类、方法(函数)和属性命名的规范上采用驼峰式命名法,在方法上可以选择采用pascal命名法

  • 具体用法

    方法命名一般用动词,变量命名一般按功能或方法的返回值命名。如 int max= , GetMax()。

BEM命名规范

Bem 是块(block)、元素(element)、修饰符(modifier)的简写利用不同的区块,功能以及样式来给元素命名。官网

  • 解决问题
    • 光凭class名字就可以让其他开发者知道某个标记用来做什么的,明白各个模块之间的关系
    • 组件之间的完全解耦,不会造成命名空间的污染
  1. 语法
  • -中划线 :仅作为连字符使用,表示某个块或者某个子元素的多单词之间的连接记号。
  • __ 双下划线:双下划线用来连接块和块的子元素。
  • _ 单下划线:单下划线用来描述一个块或者块的子元素的一种状态。
  1. 用法
  • 命名模式为:
.block {}
.block__element {}
.block_modifier {}
.type-block__element_modifier
复制代码
  • block 代表了更高级别的抽象或组件。

    block__element 代表 .block 的后代,用于形成一个完整的 .block 的整体。 block_modifier 代表 .block 的不同状态或不同版本。

前端开发之Pascal命名规范 & BEM命名规范

block代表一个组,而element代表组里面的成员,而modifier,虽然在上图没有画出,但是可以知道这个则是用于描述每一个元素的具体的属性。

  1. 使用
  • 什么时候应该用 BEM 格式

    用在具体组件里,公共样式里使用则非必须

  • CSS 预处理器配合使用
.article {
  max-width: 1200px;
  &__body {
      padding: 20px;
  }
  &__button {
      padding: 5px 8px;
      &--primary {background: blue;}
      &--success {background: green;}
  }
}
复制代码

LESS/SASS书写规范

使用 .less/.sass 后缀的文件来存储变量、混合代码以及最终合并压缩。

子less 注解
lib-base.less 预定义的变量,例如颜色、字号、字体
lib-mixins.less 用于混合的代码,例如渐变、半透明的混合
lib-reset.less 初始化
lib-ui.less 颗粒化ui功能
xxx.less 模块样式

.less/.sass 文件的引用顺序会对最终编译的样式的作用域和优先级产生影响,请尽量按照由底层到自定义的顺序来引用。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

世界是数字的

世界是数字的

[美] Brian W. Kernighan / 李松峰、徐建刚 / 人民邮电出版社 / 2013-6 / 49.00

家用电器、汽车、飞机、相机、手机、GPS 导航仪,还有游戏机,虽然你看不见,但这些设备都有计算能力。手机通信网络、有线电视网络、空中交通管制系统、电力系统、银行和金融服务系统等基础设施背后无一不是计算机在支撑。如今的世界是数字的,而计算机和计算无处不在。这本书就是要告诉大家数字世界有关计算机的一切。本书没有高深莫测的专业术语,但它全面解释了当今计算和通信领域的工作方式,包括硬件、软件、互联网、通信......一起来看看 《世界是数字的》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具