震惊!一盏茶的功夫就学会了前端命名规范!

313 阅读3分钟

命名规范

CSS 规范

类名:class
1. 一些属性的简写

css简写.png

2. 去除小数点前面的0

去除小数点.png

3. 16进制颜色的缩写

16进制颜色简写.png

4. 连字符-css选择器的命名规范
  1. 长名称或词组可以使用中横线 ( - ) 来为选择器命名

  2. 不建议使用下横线 ( _ ) 来命名

    ① 浏览器兼容问题,_name在 ie6 无法识别

    ② 写程序的时候少按shift键造成的错误

    ③ 比较良好的区分开与js变量 ( js 变量一般使用 _ )

属性书写顺序.png

5. 常用的一些类名起名规则

介绍一下 BEM 命名方式,BEM(Block Element Modifier) 是一种命名CSS中class的模式,使用这种模式可以让 CSS 代码更加利于维护!

标准的 BEM 写法是 .block-name__element-name--modifier-name

    菜单:menu
    子菜单:sub-menu
    菜单左边部分:menu-left
    菜单左边部分的某个栏目:menu-left_item
    菜单左边某个栏目的一种样式:menu-left_item--primary
    
// menu-left 表示一个block,item表示block下的一个元素,primary表示修饰,代表元素的某个状态
5.一些常见的类名
    头部:header
    尾部:footer
    内容:content / container
    导航:nav
    侧边栏:sidebar
    页面外围:wrap
    广告:banner
    友情链接:link  
    版权:copyright
    
// 如果情况比较复杂,可以添加一些修饰,比如:

    .nav-wrap {
        .nav-left {
            .nav-left_item {
                ...
            }
         }
    }
6. 根据页面分栏结构的命名

CSS代码的命名惯例一直是大家热门讨论的话题。通过分析一个流行三栏布局中的必要元素,来为大家讲解关于使用语义化方法替代结构化方法来命名CSS类的建议和指导。

一般而言,CSS类名的语义化声明方式应当考虑你的页面中某个相对元素的”用意”,独立于它的”定位”或确切的特性(结构化方式)。像left-bar, red-text, small-title…这些都属于结构化定义的例子。

让我们看看下面这个例子:

结构化、语义化1.png …而现在我们想把页面中的元素调换一下位置,如果你使用的是结构化方式 (1) ,那么你就要把所有CSS类名重新进行定义,因为它们的位置变了。在布局 (3) 中,我们看到元素都倒转了: right-bar 现在成了 left-bar,而 left-content 成了 right-content。

如果你使用语义化方式则避免了此类问题。

结构化、语义化2.png 换句话说,使用语义化方式的话,你在修改网站布局的时候可以仅仅修改相关CSS类的属性即可,而不用修改它们的类名了,如果网站的代码很庞大,这将节省大量的时间。

ID 名:id
1. 起名规则

① 一律小写

② 一般用英文

③ 不加修饰符 - 或 _

④ 尽量不缩写

常用的 css 文件命名

常用css文件名

主要的 main.css

  1. 模块 module.css
  2. 基类 base.css
  3. 布局/版面 layout.css
  4. 主题 themes.css
  5. 专栏 columns.css
  6. 文字 font.css
  7. 补丁 mend.css  
  8. css变量的存储 variable.css

JS 命名规范

1. 变量

命名方法: 小驼峰式命名法

命名规范:前缀为形容词 (函数前缀为动词, 以此来区分函数和变量)

# 好的命名方式
    let maxCount = 10;
    let tableTitle = '文字';
# 不好的命名方式
    let setConut = 10;
    let getTitle = '文字';

2. 常量

命名方法:名词全部大写

命名规范:使用大写字母和下划线来组合命名,下划线用来分割单词。

const MAX_COUNT = 10;
const URL = '//www.baidu.com';