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

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

内容简介:与前端开发普遍采用的驼峰式命名发不同的是,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 文件的引用顺序会对最终编译的样式的作用域和优先级产生影响,请尽量按照由底层到自定义的顺序来引用。


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

查看所有标签

猜你喜欢:

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

Java数据结构和算法

Java数据结构和算法

拉佛 / 计晓云 / 中国电力出版社 / 2004-02-01 / 55.00元

《Java数据结构和算法》(第2版)以一种易懂的方式教授如何安排和操纵数据的问题,其中不乏一些难题:了解这些知识以期使计算机的应用获得最好的表现。不管使用何种语言或平台,掌握了数据结构和算法将改进程序的质量和性能。 《Java数据结构和算法》(第2版)提供了一套独创的可视讨论专题用以阐明主要的论题:它使用Java语言说明重要的概念,而避免了C/C++语言的复杂性,以便集中精力论述数据结构和算法。经......一起来看看 《Java数据结构和算法》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器