国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > web前端 > htmlcss > 前端开发规范之html编码规范

前端开发规范之html编码规范

来源:程序员人生   发布时间:2015-01-13 09:00:02 阅读次数:3156次
前端开发whqet,csdn,王海庆,whqet,前端开发专家

前端开发规范系列文章之html编码规范,感兴趣的同学请关注《前端开发规范》专栏。随着html5的逐步深入人心,html5和xhtml截然相反的态度,造成了前端开发者的困惑,如何保持html代码的兼容性、简洁性、未来适用性,称为今天我们这篇文章的主要目的。参考1系列的html开发规范(mdo、github、doyoe、globant、LFeh等),从诸多规范中寻求共同点,试图寻觅最好解决方案。

------------------------------------------------------------

--我参加了博客之星评选,如果你喜欢我的博客,求投票,您的支持是我的动力之源,走起!

-----------------------------------------------------------------------------------------

原则

1.规范 。保证您的代码规范,趋html5,远xhtml,保证结构表现行动相互分离。

2.简洁。保证代码的最简化,避免过剩的空格、空行,保持代码的语义化,尽可能使用具有语义的元素,避免使用样式属性和行动属性。任什么时候候都要用尽可能简单、尽可能少的元素解决问题。

3.实用。遵守标准,但是不能以牺牲实用性为代价。

4.虔诚。选择1套规范,然后始终遵守。不管代码由多少人参与,都应当看起来像1个人写的1样。

语法

1.小写。html标签、html属性全部小写。

2.嵌套。所有元素必须正确嵌套。

3.闭合。双标签必须闭合,单标签(自关闭标签)不闭合。

<!--bad--> <br/> <hr/> <!--good--> <br> <hr>

注释

1.详实注释。解释代码解决问题、解决思路、是不是为新鲜方案等。

2.模块注释。github建议不使用模块结束注释。

<!-- 新闻列表模块 --> <div class="news"> ... <!-- /新闻列表模块 --> <!-- 有很多规范建议不使用结束模块的注释,由于这样太丑了,又加重文件负荷。 -->

3.待办注释。

<!-- TODO:待办事项 --> ...

文档

1.文档类型使用html5标准文档类型,文档类型声明之前,不允许出现任何非空字符。不允许添加<meta>强迫改变文档模式。

2.html元素上指定lang属性。显示页面语言,有助于语言合成工具来肯定怎样发音,和翻译工具决定使用的规则,等等。

3.指定明确的字符编码。让阅读器轻松、快速的肯定合适网页内容的渲染方式。

4.IE兼容模式。Internet Explorer 支持使用兼容性 <meta> 标签来指定使用甚么版本的 IE 来渲染页面。如果不是特殊需要,通常通过 edge mode 来通知 IE 使用最新的兼容模式。

<meta http-equiv="X-UA-Compatible" content="IE=Edge">

5.head部份的顺序:a.<meta>元素,b. 需要的js文件(eg. Moddernizr or HTML5 Shiv),c. <title>元素,d.样式表。

6.可使用IE条件注释的方式兼容IE,但是不要添加额外的样式表。

<!--bad--> <!--[if IE8]> <link rel="stylesheet" href="/Assets/styles/IE8.css" > <![endif]--> <!--[if IE7]> <link rel="stylesheet" href="/Assets/styles/IE7.css" > <![endif]--> <!--good--> <!--[if IE8]><html class="ie8" lang="zh-cn"><![endif]--> <!--[if IE7]><html class="ie7" lang="zh-cn"><![endif]-->

属性

1.双引号属性值,不要使用单引号。

2.省略type属性。使用style、link、script,不用指定type属性,由于 text/css 和 text/javascript 分别是他们的默许值。

3.省略Boolean属性值。Boolean属性不用添加取值,disabled,checked,selected等。

4.省略url类属性资源协议头。

5.属性顺序。html属性应当依照特定的顺序出现以保证易读性。class->id,name->data-*->src,for,type,href->title,alt->aria-*,role。

6.多媒体元素添加替换属性。图象增加alt属性,音视频增加替换文字。

7.不手动设置tabindex属性,让阅读器自动设置。

元素

1.避免冗余标签。

2.避免JS生成标签。

3.段落文字应当用<p>,避免使用<br>。

4.列表项放<ul>、<ol>、<dl>,不要使用1系列的<div>或<p>

5.<input>使用for属性绑定<label>。

6.使用<label>标签包裹radio或checkbox和他们的文字,不用再使用for属性。

7.使用单选、复选替换下拉菜单。(radio or checkbox instead of select menu)

8.form button应制定type类型,使用type="submit"、type="reset"或type="button"。

9.重要的表单按钮首先出现(在DOM中),特别是适用多个提交按钮的场合。视图中显示的顺序可以利用css修改。

10.有效使用<thead>、<tfoot>、<tbody>、<th>(scope属性)。可以把<tfoot>放<tbody>条件高加载速度。

<table summary="This is a chart of invoices for 2011."> <thead> <tr> <th scope="col">Table header 1</th> <th scope="col">Table header 2</th> </tr> </thead> <tfoot> <tr> <td>Table footer 1</td> <td>Table footer 2</td> </tr> </tfoot> <tbody> <tr> <td>Table data 1</td> <td>Table data 2</td> </tr> </tbody> </table>

格式

1.soft tab。

2.嵌套缩进。

3.删除行尾空格。

4.块元素、列表元素、表格元素都放在新行。

5.inline元素视情况换行。

6.努力保持每行长度小于80列,如果太长可换行。

<!--bad--> <img class="block_element" id="unicorn" src="http://cl.ly/image/1a1u013e002z" alt="unicorn, rainbows, poop and stuff" width="500" height="400" /> <!--good--> <img class="block_element" id="unicorn" src="http://cl.ly/image/1a1u013e002z" alt="unicorn, rainbows, poop and stuff" width="500" height="400" >

感谢您耐心读完,如果对您有帮助,请支持我

----------------------------------------------------------

前端开发whqet,关注web前端开发,分享相干资源,欢迎点赞,欢迎拍砖。
---------------------------------------------------------------------------------------------------------

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生