分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

CSS编码规范

发布时间:2023-09-06 02:16责任编辑:彭小芳关键词:CSS

CSS编码规范

1 前言

2 代码风格

2.1 文件

[建议]CSS文件使用无BOMUTF-8编码。

2.2 缩进

[强制] 使用4个空格做为一个缩进层级,不允许使用2个空格。

2.3 空格

[强制]选择器{之间必须包含空格。

[强制]属性名与之后的:之间不允许包含空格,:属性值之间必须包含空格。

[强制]列表型属性值书写在单行时,,后必须跟一个空格。

2.4 行长度

[强制] 每行不得超过120个字符,除非单行不可分割。

[建议] 对于超长的样式,在样式值的空格处或,后换行,建议按逻辑分组。

2.5 选择器

[强制] 当一个 rule 包含多个 selector 时,每个选择器声明必须独占一行。

[强制]>+~选择器的两边各保留一个空格。

[强制] 属性选择器中的值必须用双引号包围。

2.6 属性

[强制] 属性定义必须另起一行。

[强制] 属性定义后必须以分号结尾。

3 通用

3.1 选择器

[强制] 如无必要,不得为idclass选择器添加类型选择器进行限定。

[建议] 选择器的嵌套层级应不大于 3 级,位置靠后的限定条件应尽可能精确。

3.2 属性缩写

[建议] 在可以使用缩写的情况下,尽量使用属性缩写。

[建议] 使用border/margin/padding等缩写时,应注意隐含值对实际数值的影响,确实需要设置多个方向的值时才使用缩写。

3.3 属性书写顺序

[建议] 同一 rule set 下的属性在书写时,应按功能进行分组,并以Formatting Model(布局方式、位置) > Box Model(尺寸) > Typographic(文本相关) > Visual(视觉效果)的顺序书写,以提高代码的可读性。

position/top/right/bottom/left/float/display/overflow

  • Box Model 相关属性包括:border/margin/padding/width/height
  • Typographic 相关属性包括:font/line-height/text-align/word-wrap
  • Visual 相关属性包括:background/color/transition/list-style
  • content属性,应放在最前面。

    3.4 清除浮动

    [建议] 当元素需要撑起高度以包含内部的浮动元素时,通过对伪类设置clear或触发BFC的方式进行clearfix。尽量不使用增加空标签的方式。

    3.5 !important

    [建议] 尽量不使用!important声明。[建议] 当需要强制指定样式且不允许任何场景覆盖时,通过标签内联和!important定义样式。

    确实不允许任何其它场景覆盖样式时,才使用内联的!important样式。通常在第三方环境的应用中使用这种方案。下面的 z-index 章节是其中一个特殊场景的典型样例。

    3.6 z-index

    [建议] 将z-index进行分层,对文档流外绝对定位元素的视觉层级关系进行管理。

    z-index或递增z-index

    z-index来容纳足够的元素,如果每层元素较多,可以调整这个数值。

    [建议] 在可控环境下,期望显示在最上层的元素,z-index指定为999999

    2147483647。以便于自身产品线被其他产品线引用时,当遇到层级覆盖冲突的情况,留出向上调整的空间。

    [建议] 在第三方环境下,期望显示在最上层的元素,通过标签内联和!important,将z-index指定为2147483647

    4 值与单位

    4.1 文本

    [强制] 文本内容必须用双引号包围。

    4.2 数值

    [强制] 当数值为 0 - 1 之间的小数时,省略整数部分的0

    4.3 url()

    [强制]url()函数中的路径不加引号。

    [建议]url()函数中的绝对路径可省去协议名。

    4.4 长度

    [强制] 长度为0时须省略单位。 (也只有长度单位可省)

    4.5 颜色

    [强制] RGB颜色值必须使用十六进制记号形式#rrggbb。不允许使用rgb()

    rgba()。使用rgba()时每个逗号后必须保留一个空格。

    [强制] 颜色值可以缩写时,必须使用缩写形式。

    [强制] 颜色值不允许使用命名色值。

    [建议] 颜色值中的英文字符采用小写。如不用小写也需要保证同一项目内保持大小写一致。

    4.6 2D 位置

    [强制] 必须同时给出水平和垂直方向的位置。

    0% 0%,但在只有一个方向的值时,另一个方向的值会被解析为 center。为避免理解上的困扰,应同时给出两个方向的值。background-position属性值的定义

    5 文本编排

    我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
    icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved