今天无意间看到了Google的HTML/CSS编码规范,发现了不少自己很容易忽略的问题,特意仔细看了看,将其整理翻译出来分享给大家。Google规范的原文链接大家可以访问:http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml

1.协议头:

建议在指向图片或其他媒体文件、样式表和脚本的URL地址中省略http:https:协议部分,除非已知相应文件不能同时兼容2个协议。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<br>
<!-- Not recommended不推荐 --><br>
<script src="http://www.google.com/js/gweb/analytics/autotrack.js"></script><br>
<!-- Recommended 推荐--><br>
<script src="//www.google.com/js/gweb/analytics/autotrack.js"></script><br>
/* Not recommended不推荐 */<br>
.example {<br>
background: url(http://www.google.com/images/example);<br>
}<br>
/* Recommended 推荐 */<br>
.example {<br>
background: url(//www.google.com/images/example);<br>
}

注:这个倒是真正平日不注意的,只要是绝对地址,http:总是带着。如果仔细想一想,还真有道理。

2.缩进:每次缩进使用双空格
不要使用tab制表符或制表符加空格的混合方式缩进

?
1
2
3
4
5
6
7
<ul><br>
<li>mxria.com<br>
<li>www.mxria.com<br>
</ul><br>
.example {<br>
color: blue;<br>
}

3.大小写:只使用小写

所有的代码都应是小写的,包括元素名称、属性,属性值(除非text或CDATA的内容)、选择器、css属性、属性值(字符串除外)

?
1
2
3
4
5
<br>
<!-- Not recommended 不推荐--><br>
<A HREF="/">Home</A><br>
<!-- Recommended 推荐--><br>
<img src="mxria.png" alt="MXRIA">

4.尾随空格
尾随空格是不必要的,容易搞复杂diff文件。这个绝对是经验教训的总结!!!

?
1
2
3
4
<!-- Not recommended --><br>
<p>What?_<br>
<!-- Recommended --><br>
<p>Yes please.

5.编码格式:使用UTF-8

请确保您的编辑器使用的字符编码??为UTF-8,没有字节顺序标记。在html模板或文档中通过 <meta charset=”utf-8″>来

定义编码格式。关于编码格式参考 Character Sets & Encodings in XHTML, HTML and CSS

6.注释
根据需要解释代码,这个就不多说了,团队开发这个非常重要,尽管很多时候大家不愿意遵守,但确实重要!!!

7.TODO待定项
尚未实现的或待定的内容一定要标识强调出来,利用TODO辨识,而非其他诸如@@来强调。
在todo项中如果有必要列明联系人,比如负责人
在TODO后追加一个冒号作为行动内容,例如 TODO:为美瑞网增加html5模板

8.文档类型:使用HTML5

使用<!DOCTYPE html>.HTML(text/html)类型文件相对XHTML(alication/xhtml+xml)文件,在浏览器及框架支持上和优化空间上都要好很多。
9.HTML 合法性验证

合法的使用HTML,并利用w3c的工具(W3C HTML validator)进行检查。唯一例外就是因为性能原因需要压缩文件大小。
原文如下:Use valid HTML code unless that is not possible due to otherwise unattainable performance goals  regarding file size. 但这个确实很难想象,省略标签节省的文件大小能有多少字节?但带来的问题可是风险居高哦!

?
1
2
3
4
5
6
7
8
9
<br>
<!-- Not recommended 不推荐--><br>
<title>Test</title><br>
<article>This is only a test.<br>
<!-- Recommended 推荐--><br>
<!DOCTYPE html><br>
<meta charset="utf-8"><br>
<title>Test</title><br>
<article>This is only a test.</article>

10.语义性
根据目的来合理使用HTML,这点对于HTML5而言尤为重要。下面例子可以对比,能实现同样的结果,但效率和可读性却有很大差别。

?
1
2
3
4
5
<br>
<!-- Not recommended --><br>
<div onclick="goToRecommendations();">All recommendations</div><br>
<!-- Recommended --><br>
<a href="recommendations/">All recommendations</a>

对于HTML5而言,例如header、footer、nav、section等跟div能实现的功能基本类似,但是语义性上有着天壤之别。

11.多媒体后备:为多媒体提供备选内容

这个属于老生长谈的内容,典型就是为img添加alt内容。

12.关注点分离
这点很重要,严格遵守将组织结构(markup)、表现样式(style)和行为动作(script)分开处理的原则,并且尽量使三者之间的关联度降到最小。这主要是基于维护性的考虑,通常,更新style文件或脚本文件比更改HTML文件的代价要小很多,试想一下,对于一个有超过10万页面的网站进行局部颜色调整,是每个html文件修改容易还是修改一个style文件容易?

12.可选Tags:省略可选的标签

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<strong><br>
</strong><!-- Not recommended --><br>
<!DOCTYPE html><br>
<html><br>
<head><br>
<title>Spending money, spending bytes</title><br>
</head><br>
<body><br>
<p>Sic.</p><br>
</body><br>
</html><br>
<!-- Recommended --><br>
<!DOCTYPE html><br>
<title>Saving money, saving bytes</title><br>
<p>Qed.

13.实体引用
假定开发团队内,文件和编辑器都是使用同样的编码格式(UTF-8),则没有必要使用实体引用的方式,例如&mdash;,

&rdquo;, or ☺ 除非一些HTML中具有特定含义的字符,如”<”,或不可见字符如空格

14.Type属性:省略
将样式表和脚本中的Type省略,除非你不是用的css或javascript,在HTML5中,该值默认是text/css和text/javascript

?
1
2
3
4
5
6
7
8
9
10
11
<br>
<!-- Not recommended --><br>
<link rel="stylesheet" href="//www.google.com/css/maia.css"<br>
type="text/css"><br>
<!-- Recommended --><br>
<link rel="stylesheet" href="//www.google.com/css/maia.css"><br>
<!-- Not recommended --><br>
<script src="//www.google.com/js/gweb/analytics/autotrack.js"<br>
type="text/javascript"></script><br>
<!-- Recommended --><br>
<script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>

15.block,list或table元素
针对每个block,list或table元素另起一行,并在每个子元素前缩进。这样可读性好,例如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<blockquote><br>
<p><em>Space</em>, the final frontier.</p><br>
</blockquote><br>
<ul><br>
<li>Moe<br>
<li>Larry<br>
<li>Curly<br>
</ul><br>
<table><br>
<thead><br>
<tr><br>
<th scope="col">Income<br>
<th scope="col">Taxes<br>
<tbody><br>
<tr><br>
<td>$ 5.00<br>
<td>$ 4.50<br>
</table>

对于使用HTML5的朋友,可以参考。当然,不同团队还会整理出适合自己的代码规范,上述应该来说属于比较基本的规则内容。

转载自:http://www.mxria.com/html5/h201205111471.htm#692247-tsina-1-91726-5107e6f77b82ec694fc855c201a77269

转载于:https://www.cnblogs.com/ansionchen/archive/2012/07/09/3019203.html

Google推荐的15条军规:HTML5代码规范相关推荐

  1. Google推荐的15条HTML 5代码军规----来看看你知道几个,我一个都不知道。。。

    Google规范的原文链接大家可以访问:http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml 1.协议头: 建议在指向图 ...

  2. Google推荐的15条HTML 5代码军规

    Google规范的原文链接大家可以访问:http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml 1.协议头: 建议在指向图 ...

  3. Java技术:收集16 条 yyds 的代码规范,值得一读!

    今天给大家分享关于Java技术中16 条 yyds 的代码规范,读完肯定会有帮助! 一.MyBatis 不要为了多个查询条件而写 1 = 1 当遇到多个查询条件,使用where 1=1 可以很方便的解 ...

  4. HTML5 代码规范

    HTML5 代码规范 在使用HTML5的过程中,使用规范化的代码能够更加方便你的运用与阅读,本节我们将带领你了解如何能够使得HTML5中的代码变得更加规范! HTML 代码约定 很多 Web 开发人员 ...

  5. 16 条 yyds 的代码规范

    以下文章来源方志朋的博客,回复"666"获面试宝典 作者 | 涛姐涛哥 链接 | cnblogs.com/taojietaoge/p/11575376.html 如何更规范化编写J ...

  6. CTO丢给我《技术Leader的30条军规》:照着做,做不好滚回去写代码!

    作者| Mr.K 来源| 技术领导力(ID:jishulingdaoli) 老K之前在电商独角兽公司担任过技术VP,带过几百人的技术团队,这几年下来,从我手下出去的Leader,有10几人都已经是各大 ...

  7. 如何用HTML语言设计进度条,html5代码如何实现进度条功能?(示例)

    本篇文章主要介绍html5代码如何实现进度条功能,希望对大家有所帮助. html5代码实现进度条功能具体代码示例如下:/*实现进度条的功能*/ 下载进度: /*js代码*/ var pg=docume ...

  8. html5拼音显示,科技常识:html5给汉字加拼音加进度条的实现代码

    今天小编跟大家讲解下有关html5给汉字加拼音加进度条的实现代码 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关html5给汉字加拼音加进度条的实现代码 的相关资料,希望小伙伴们看了有所帮 ...

  9. html5给文字添加拼音,html5给汉字加拼音加进度条的实现代码

    小编项目上最近设计有个新需求,要给汉纸加拼音,类似于加英文底部小标题类似,毕竟现在咱们中文之博大,大家都在学习和使用中文.下面就让我们学习一下吧,h5现在已经很强大足以应付很多需求. 一.给汉字加拼音 ...

  10. html5简单动画效果代码,分享12个简洁漂亮的纯CSS3进度条特效动画代码

    进度条是很常用的一个用户体验项,用于表示事件的处理或加载状态,制作这些loading进度条我们通常会使用GIF图片来实现,但是这方法也有一些弊端,比如我要放大或改变颜色,这样就不好处理了. 要解决这些 ...

最新文章

  1. 判断用户名和密码是否正确java_facebook中如何判断用户名和密码是否正确
  2. 【EXLIBRIS】纸版书目整理 -- 大书架 上 【292 种】【327册】
  3. 【原创】SqlServer 2005 BCP命令详解
  4. ERP通用附件管理功能设计与实现
  5. 研究生必备自学课程!打好科研的数学基础与机器学习基础!
  6. python精确有理数实验_Python3标准库:fractions有理数
  7. 利用LR做性能测试中出现的常见问题解决方案
  8. 腾讯加入QQ群 连接代码
  9. RealSense D435i深度相机介绍
  10. plsql误删除数据,怎么恢复?
  11. python控件布局常用三种方法_控件布局
  12. 通常环境光照度参照表
  13. Java异常处理最佳实践及陷阱防范
  14. 什么是Linux系统架构?
  15. 为什么linux不需要整理磁盘,为什么Linux不需要磁盘碎片整理
  16. 手把手做一个JSP入门程序(九):购物车的基本实现(Servlet)
  17. linux 模拟hba卡闪断,服务器HBA卡常见问题
  18. CS61A 2022 fall lab0
  19. PHP错题本功能实现,今天教你如何制作错题本!
  20. java基于springboot+Vue+nodejs的高校网上二手闲置跳蚤市场 element

热门文章

  1. Hive from_unixtime函数入门
  2. 各大linux发行版安装宝塔桌面脚本
  3. 设计模式的征途—23.解释器(Interpreter)模式
  4. 第17讲 | 去中心化与区块链交易性能
  5. 在使用Git提交代码的时候犯了个低级错误
  6. 原生js--放大镜效果
  7. 台积电南京12寸厂址 落脚江北新区
  8. Convert Sorted List to Balanced Binary Search Tree leetcode
  9. android实现下载的核心代码
  10. Perl语言学习总结