CSS规范

作者: 半瓶不满 | 来源:发表于2018-03-20 11:38 被阅读0次

ID和class的命名

为ID和class取通用且有意义的名字。

应该从ID和class的名字上就能看出这元素是干嘛用的,而不是表象或模糊不清的命名。

应该优先虑以这元素具体目来进行命名,这样他就最容易理解,减少更新。

通用名称可以加在兄弟元素都不特殊或没有个别意义的元素上,可以起名类似“helpers”这样的泛。

使用功能性或通用的名字会减少不必要的文档或模板修改。

ID 以Camel(驼峰) 命名法命名;
class 应以功能或内容命名,命名形式以单词字母小写,多个单词组成时,采用中划线"-"分隔;

/* 不推荐 */
.fw-800 {
  font-weight: 800;
}
.red {
  color: red;
}
/* 推荐 */
.heavy {
  font-weight: 800;
}
.important {
  color: red;
}

合理的避免使用ID

一般情况下ID不应该被应用于样式。
ID的样式不能被复用并且每个页面中你只能使用一次ID。

/* 不推荐 */
#navigation {}
 
/* 推荐 */
.navigation {}

类型选择器

避免使用CSS类型选择器。

非必要的情况下不要使用元素标签名和ID或class进行组合。

出于性能上的考虑避免使用父辈节点做选择器 performance reasons。

/* 不推荐 */
ul#example {}
div.error {}
/* 推荐 */
#example {}
.error {}

属性缩写

写属性值的时候尽量使用缩写。

CSS很多属性都支持缩写shorthand (例如 font ) 尽量使用缩写,甚至只设置一个值。

使用缩写可以提高代码的效率和方便理解。

/* 不推荐 */
border-top-style: none;
font-family: palatino, georgia, serif;
font-size: 100%;
line-height: 1.6;
padding-bottom: 2em;
padding-left: 1em;
padding-right: 1em;
padding-top: 0;
/* 推荐 */
border-top: 0;
font: 100%/1.6 palatino, georgia, serif;
padding: 0 1em 2em;

0和单位

省略0后面的单位。

非必要的情况下 0 后面不用加单位。

数值小于1大于0的省略前面的0。

margin: 0;
padding: 0;
width: .33%;

URI外的引号

省略URI外的引号。

不要在 url() 里用 ( “” , ” ) 。

@import url(//www.google.com/css/go.css);

十六进制

十六进制尽可能使用3个字符。

加颜色值时候会用到它,使用3个字符的十六进制更短与简洁。

/* 不推荐 */
color: #eebbcc;
/* 推荐 */
color: #ebc;

前缀

选择器前面加上特殊应用标识的前缀(可选)。

大型项目中最好在ID或class名字前加上这种标识性前缀(命名空间),使用短破折号链接。

使用命名空间可以防止命名冲突,方便维护,比如在搜索和替换操作上。

.adw-help {} /* AdWords */
 
#maia-note {} /* Maia */

Hacks

最好避免使用该死的CSS “hacks” —— 请先尝试使用其他的解决方法。

虽然它很有诱惑力,可以当作用户代理检测或特殊的CSS过滤器,但它的行为太过于频繁,会长期伤害项目的效率和代码管理,所以能用其他的解决方案就找其他的。

声明顺序

依字母顺序进行声明。

都按字母顺序声明,很容易记住和维护。

忽略浏览器的特定前缀排序,但多浏览器特定的某个CSS属性前缀应相对保持排序(例如-moz前缀在-webkit前面)。

background: fuchsia;
border: 1px solid;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
color: black;
text-align: center;
text-indent: 2em;

声明和属性完结

所有声明都要用“;”结尾。

考虑到一致性和拓展性,请在每个声明尾部都加上分号。

在属性名冒号结束后加一个空字符。

出于一致性的原因,在属性名和值之间加一个空格。

/* 不推荐 */
.test {
    display: block;
    height: 100px
}
 
/* 推荐 */
.test {
    display: block;
    height: 100px;
}

规则分行

每个规则独立一行。

两个规则之间隔行。

html {
    background: #fff;
}
 
body {
    margin: auto;
    width: 50%;
}

相关文章

  • 前端开发文档规范

    HTML 编码规范 请查看HTML编码规范 CSS 编码规范 请查看CSS编码规范 JavaScript 编码规范...

  • 非常有用的css规范标准

    CSS图书馆 » HTML & CSS » 推荐大家使用的CSS书写规范、顺序 推荐大家使用的CSS书写规范、顺序...

  • 前端代码规范(配置篇)

    基于 Airbnb 前端规范 CSS 规范 https://github.com/airbnb/css style...

  • [知识点滴]Div+CSS命名规范大全

    Div+CSS命名规范(前端web开发命名规范)Div+CSS命名规范(一)窗体头:header内容:conten...

  • CSS学习笔记(1)

    CSS版本 CSS Level1 CSS Level 2(CSS 2.1规范) CSS Level 3 CSS规则...

  • CSS 规范

    CSS规范 @desc: 主要适用于sass、less等CSS预编译语言 1. CSS选择器 1.1. 命名规范 ...

  • 无标题文章

    # CSS 编码规范 此为前端开发团队遵循和约定的 CSS 编码规范,意在提高代码的规范性和可维护性。 ## 代码...

  • CSS综合

    HTML编码规范CSS编码规范 垂直居中代码

  • 前端开发规范

    前端开发规范 规范目的 命名规范 结构化规范 注释规范 编码规范 CSS 规范 规范目的 为提高团队协作效率 便于...

  • CSS 和HTML注意事项

    目录 HTML常用标签 CSS使用规范 HTML常用标签 /可以单独或者配合ul ol标签使用/ CSS使用规范...

网友评论

      本文标题:CSS规范

      本文链接:https://www.haomeiwen.com/subject/vvtyfftx.html