谷歌Html/css规范缩减版

无意在dev.to上看到有人问html的书写规范,心想html又不是一个编程语言(其实是标记语言),需要啥规范呢?能够立马想到的就是使用合理的标签,语义化等这些东西。然后看了下别人的回答:

  1. 推荐谷歌的html/css规范
  2. 有人推荐了一个html工具 tidy。看了下感觉还可以,比较适合新手吧!老司机们不需要啦~ 下面我去阅读了下谷歌的html/css规范,简单梳理下一些点。英文好的可以直接阅读原文:https://google.github.io/styleguide/htmlcssguide.html

关于HTML

  1. 引用外部资源:协议,推荐使用https

    关于这点其实存在异议:大多数情况下应用是从http过度到https,为了保证两者兼容性,防止过度期间出现意外,我们都采用去掉http或https只保留//的方法。

    猜想可能是谷歌为了更多推广https。所以这个不予置评!

  2. 使用两个空格来缩进。不要使用tab或者tab跟空格混合使用。

    原因则是使用空格能够保证格式的整齐,比如其他人打开你的代码或者你在网页中查看源码,而用tab会出现对齐不一致的现象。

    实际开发中,我们会在代码编辑器中设置缩进为2个空格!

  3. 所有代码都用小写字母,包括:元素名、属性名、属性值(除了text/CDATA)、选择器、CSS属性值。

  4. 去掉末尾空格,节省字符大小。

  5. 指定utf-8编码格式

    1
    通过 <meta charset = "utf-8"> 来指定编码。
  6. 语义化。老生常谈的问题,即使用合理的标签。

  7. 设置替代文本。如图片设置alt属性,对于盲人更加友好。

  8. 分离样式、标记和脚本。即样式放在css文件中,脚本写在js里面,这样你的代码会比较清晰,便于维护。

  9. 减少实体引用

    1
    2
    3
    4
    5
    6
    <!-- 不推荐 -->
    The currency symbol
    for the Euro is & ldquo; & eur; & rdquo;.
    <!-- 推荐 -->
    The currency symbol
    for the Euro is“€”.
  10. type属性可省略,在HTML5中text/css和text/javascript是默认值,因此没有必要指定,对于较早的浏览器甚至也可以行得通。

  11. HTML属性值一律使用双引号(””),而不是单引号(’’)。

关于CSS

  1. ID和class命名,class命名推荐使用-作为分隔符(error-status,而不是_)

    使用短ID或类命名,但确保他们不要太过隐晦,或直白(如#blue-button)。

  2. ID和类名前面不要再加标签名,会对性能提升很有帮助。

    1
    2
    3
    4
    5
    6
    7
    /* 不推荐 */
    ul #example {}
    div .error {}

    /* 推荐 */
    #example {}
    .error {}
  3. @charset应使用双引号,url()中不使用引号,0后面不跟单位,前面的0可以省略(0.8em -> .8em)

  4. 分块注释,代码块之间用空行分开。

  5. 避免浏览器hacks。