聊聊HTML静态页面编码规范和前端代码重构

    彪悍的人生不需要解释,彪悍的代码不需要注释!作为程序猿,工作中我们都要涉及到与团队合作,为了让团队合作的效率提高,我们在写代码的时候都应该讲究规范,比如注释,html代码的嵌入规则,class命名的规范等等,一段漂亮的代码犹如诗歌,有声有色,井然有序的程序语言,也许真的就连注释都省了(当然为了后期维护方便还是应该记得添加注释的)。

      我们在开发前端静态页面的的时候,都应该认真的规划好html的结构,一段好的html代码,不仅有利于维护和浏览器的正确渲染,更有利于搜索引擎的良好收录,我们应该带着SEO的思维把html页面结构设计好,写出漂亮、整齐、语义化更强的前端页面。下面我们就从以下几个方面来谈谈代码的规范吧:

一、html标签的嵌套规则

html编码规范

XHTML的标签有许多:div、ul、li、dl、dt、dd、h1~h6、p、a、addressa、span、 strong……我们在运用这些标签构建页面结构的时候,虽然说我们是可以将它们无限嵌套的,但是,嵌套也需要有一定规则,不能任由自己的个人习惯胡乱嵌套,那么,html标签的嵌套规则有哪些呢?

(一)、HTML 标签包括 块级元素(block)、内嵌元素(inline)

1、块级元素

一般用来搭建网站架构、布局、承载内容……它包括以下这些标签:

address、blockquote、center、dir、div、dl、dt、dd、fieldset、form、h1~h6、hr、isindex、menu、noframes、noscript、ol、p、pre、table、ul

2、内嵌元素

一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:

a、abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、span、strike、strong、sub、sup、textarea、tt、u、var 

(二)、HTML 标签的嵌套规则

1. 块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素:

<div><h1></h1><p></p></div> —— 对

<a href=”#”><span></span></a> —— 对

<span><div></div></span> —— 错

2. 块级元素不能放在<p>里面:

<p><ol><li></li></ol></p> —— 错

<p><div></div></p> —— 错

3. 有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素,这几个特殊的标签是:

h1、h2、h3、h4、h5、h6、p、dt

4. li 内可以包含 div 标签 —— 这一条其实不必单独列出来的,但是网上许多人对此有些疑惑,就在这里略加说明:

li 和 div 标 签都是装载内容的容器,地位平等,没有级别之分(例如:h1、h2 这样森严的等级制度^_^),要知道,li 标签连它的父级 ul 或者是 ol 都 可以容纳的,为什么有人会觉得 li 偏偏容纳不下一个 div 呢?别把 li 看得那么小气嘛,别看 li 长得挺瘦小,其实 li 的胸襟很大。

5. 块级元素与块级元素并列、内嵌元素与内嵌元素并列:

<div><h2></h2><p></p></div> —— 对

<div><a href=”#”></a><span></span></div> —— 对

<div><h2></h2><span></span></div> —— 错

二、html编码规范

1.HTML doctype

首先,我们应该为每个 HTML 页面的第一行添加标准模式(standard mode)的声明,这样能够确保在每个浏览器中拥有一致的展现。

2.字符编码

通过明确声明字符编码,能够确保浏览器快速并容易的判断页面内容的渲染方式。这样做的好处是,可以避免在 HTML 中使用字符实体标记(character entity),从而全部与文档编码一致(一般采用 UTF-8 编码)。

3.引入 CSS 和 JavaScript 文件

根据 HTML5 规范,在引入 CSS 和 JavaScript 文件时一般不需要指定 type 属性,因为 text/css 和 text/javascript 分别是它们的默认值。

例如:

<link rel="stylesheet" href="code-guide.css">
<script src="code-guide.js"></script>

4.减少标签的数量

任何时候我们都应该尽量使用最少的标签并保持最小的复杂度,编写 HTML 代码时,尽量避免多余的父元素。很多时候,这需要迭代和重构来实现。

5.属性顺序

在编写HTML 属性时我们应当按照以下给出的顺序依次排列,确保代码的易读性,提高团队合作开发效率。

  • class

  • idname

  • data-*

  • srcfortypehref

  • titlealt

  • aria-*role

几乎每个html标签我们都有可能定义class,class 用于标识高度可复用组件,因此应该排在首位。id 用于标识具体组件,应当谨慎使用(例如,页面内的书签),因此排在第二位。

6.带着SEO优化的思维编写

做好一个网站,我们肯定是希望易于推广出去,在编写html代码的时候我们就应该编写利于搜索引擎索引的代码,例如我们应该给每个a标签加上title属性,应该为每个img标签加上alt属性等等


猜你喜欢

转载自blog.csdn.net/Qianliwind/article/details/51623065