整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML编码规范

  • 缩进使用soft tab(4个空格);
  • 嵌套的节点应该缩进;
  • 在属性上,使用双引号,不要使用单引号;
  • 属性名全小写,用中划线做分隔符;
  • 不要在自动闭合标签结尾处使用斜线(HTML5 规范 指出他们是可选的);
  • 不要忽略可选的关闭标签,例:


<!DOCTYPE html>
 <html>
 	<head>
 		<title>Page title</title>
 	</head>
 	<body> <img src="images/company_logo.png" alt="Company">
 		<h1 class="hello-world">Hello, world!</h1>
 	</body>
 </html>

HTML5 doctype在页面开头使用这个简单地doctype来启用标准模式,使其在每个浏览器中尽可能一致的展现;虽然doctype不区分大小写,但是按照惯例,doctype大写 (关于html属性,大写还是小写)。<!DOCTYPE html> <html> ... </html> lang属性根据HTML5规范:应在html标签上加上lang属性。这会给语音工具和翻译工具帮助,告诉它们应当怎么去发音和翻译。
更多关于 lang 属性的说明在这里;在sitepoint上可以查到语言列表;
但sitepoint只是给出了语言的大类,例如中文只给出了zh,但是没有区分香港,台湾,大陆。而微软给出了一份更加详细的语言列表.aspx),其中细分了zh-cn, zh-hk, zh-tw。<!DOCTYPE html> <html lang="en-us"> ... </html> 字符编码通过声明一个明确的字符编码,让浏览器轻松、快速的确定适合网页内容的渲染方式,通常指定为’UTF-8’。<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> ... </html> IE兼容模式用 <meta> 标签可以指定页面应该用什么版本的IE来渲染;<!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> </head> ... </html> 引入CSS, JS根据HTML5规范, 通常在引入CSS和JS时不需要指明 type,因为 text/css 和 text/javascript 分别是他们的默认值。HTML5 规范链接使用link
使用style
使用script<!-- External CSS --> <link rel="stylesheet" href="code_guide.css"> <!-- In-document CSS --> <style> ... </style> <!-- External JS --> <script src="code_guide.js"></script> <!-- In-document JS --> <script> ... </script> 属性顺序属性应该按照特定的顺序出现以保证易读性;

  • class
  • id
  • name
  • data-*
  • src, for, type, href, value , max-length, max, min, pattern
  • placeholder, title, alt
  • aria-*, role
  • required, readonly, disabled

class是为高可复用组件设计的,所以应处在第一位;
id更加具体且应该尽量少使用,所以将它放在第二位。

<a class="..." id="..." data-modal="toggle" href="#">Example link</a>

<input class="form-control" type="text">

<img src="..." alt="...">

boolean属性

boolean属性指不需要声明取值的属性,XHTML需要每个属性声明取值,但是HTML5并不需要;
更多内容可以参考 WhatWG section on boolean attributes:
boolean属性的存在表示取值为true,不存在则表示取值为false。

<input type="text" disabled>

<input type="checkbox" value="1" checked>

<select>
    <option value="1" selected>1</option>
</select>

JS生成标签

在JS文件中生成标签让内容变得更难查找,更难编辑,性能更差。应该尽量避免这种情况的出现。

减少标签数量

在编写HTML代码时,需要尽量避免多余的父节点;很多时候,需要通过迭代和重构来使HTML变得更少。

<!-- Not well -->
<span class="avatar">
    <img src="...">
</span>

<!-- Better -->
<img class="avatar" src="...">

实用高于完美

尽量遵循HTML标准和语义,但是不应该以浪费实用性作为代价;任何时候都要用尽量小的复杂度和尽量少的标签来解决问题。

TML 符号实体

HTML 符号是不呈现在标准的键盘上,比如数学运算符、箭头符号、技术符号和形状。

如需向 HTML 页面添加这些符号,您可以使用 HTML 实体名称。

如果不存在实体名称,您可以使用实体编号。

如果字符没有实体名称,您可以使用十进制(或十六进制)引用。

实例

<p>我将显示 &euro;</p>

<p>我将显示 &#8364;</p>

<p>我将显示 &#x20AC;</p>

结果如下:

我将显示 €

我将显示 €

我将显示 €


HTML 支持的数学符号

如果您使用的是一个 HTML 实体名称或一个十六进制编号,字符总是能正确显示。

这是与您页面使用的字符集相互独立的!

字符编号实体描述
&#8704;&forall;所有(for all)
&#8706;&part;部分(part)
&#8707;&exist;存在(exists)
&#8709;&empty;空(empty)
&#8711;&nabla;倒三角(nabla)
&#8712;&isin;属于(isin)
&#8713;&notin;不属于(notin)
&#8715;&ni;包含的成员(ni)
&#8719;&prod;连乘(prod)
&#8721;&sum;总和(sum)

完整的数学(Math)参考手册


HTML 支持的希腊字母

字符编号实体描述
Α&#913;&Alpha;Alpha(中文注音:阿耳法)
Β&#914;&Beta;Beta(中文注音:贝塔)
Γ&#915;&Gamma;Gamma(中文注音:伽马)
Δ&#916;&Delta;Delta(中文注音:德耳塔)
Ε&#917;&Epsilon;Epsilon(中文注音:艾普西隆)
Ζ&#918;&Zeta;Zeta(中文注音:截塔)

完整的希腊(Greek)参考手册


HTML 支持的其他实体

字符编号实体描述
©&#169;&copy;版权所有(REGISTERED SIGN)
®&#174;&reg;注册商标(REGISTERED SIGN)
&#8364;&euro;欧元符号(EURO SIGN)
&#8482;&trade;商标(trademark)
&#8592;&larr;向左箭头(LEFTWARDS ARROW)
&#8593;&uarr;向上箭头(UPWARDS ARROW)
&#8594;&rarr;向右箭头(RIGHTWARDS ARROW)
&#8595;&darr;向下箭头(DOWNWARDS ARROW)
&#9824;&spades;黑桃(BLACK SPADE SUIT)
&#9827;&clubs;黑梅花(BLACK CLUB SUIT)
&#9829;&hearts;黑心(BLACK HEART SUIT)
&#9830;&diams;黑方块(BLACK DIAMOND SUIT)

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!

览器支持

所有主流浏览器都支持 <a> 标签。

标签定义及使用说明

<a> 标签定义超链接,用于从一个页面链接到另一个页面。

<a> 元素最重要的属性是 href 属性,它指定链接的目标。

在所有浏览器中,链接的默认外观如下:

  • 未被访问的链接带有下划线而且是蓝色的

  • 已被访问的链接带有下划线而且是紫色的

  • 活动链接带有下划线而且是红色的

提示和注释

提示:如果没有使用 href 属性,则不能使用 hreflang、media、rel、target 以及 type 属性。

提示:通常在当前浏览器窗口中显示被链接页面,除非规定了其他 target。

提示:请使用 CSS 来改变链接的样式。

HTML 4.01 与 HTML5之间的差异

在 HTML 4.01 中,<a> 标签既可以是超链接,也可以是锚。在 HTML5 中,<a> 标签是超链接,但是假如没有 href 属性,它仅仅是超链接的一个占位符。

HTML5 有一些新的属性,同时不再支持一些 HTML 4.01 的属性。

属性

New :HTML5 中的新属性。

属性描述
charsetchar_encodingHTML5 不支持。规定目标 URL 的字符编码。
coordscoordinatesHTML5 不支持。规定链接的坐标。
downloadNewfilename指定下载链接
hrefURL规定链接的目标 URL。
hreflanglanguage_code规定目标 URL 的基准语言。仅在 href 属性存在时使用。
mediaNewmedia_query规定目标 URL 的媒介类型。默认值:all。仅在 href 属性存在时使用。
namesection_nameHTML5 不支持。规定锚的名称。
relalternateauthorbookmarkhelplicensenextnofollownoreferrerprefetchprevsearchtag规定当前文档与目标 URL 之间的关系。仅在 href 属性存在时使用。
revtextHTML5 不支持。规定目标 URL 与当前文档之间的关系。
shapedefaultrectcirclepolyHTML5 不支持。规定链接的形状。
target_blank_parent_self_topframename规定在何处打开目标 URL。仅在 href 属性存在时使用。
typeNewMIME_type规定目标 URL 的 MIME 类型。仅在 href 属性存在时使用。注:MIME = Multipurpose Internet Mail Extensions。

全局属性

<a> 标签支持 HTML 的全局属性。

事件属性

<a> 标签支持 HTML 的事件属性。

创建超级链接

本例演示如何在 HTML 文档中创建链接。

将图像作为链接

本例演示如何使用图像作为链接。

在新的浏览器窗口打开链接

本例演示如何在新窗口打开一个页面,这样的话访问者就无需离开您的站点了。

创建电子邮件链接

本例演示如何链接到一个邮件。(本例在安装邮件客户端程序后才能工作。)

创建电子邮件链接 2

本例演示更加复杂的邮件链接。

使用锚跳转到同一个页面的不同位置

本例演示如何使用锚的 id 属性跳转到页面的不同位置( HTML5 不支持 name 属性)

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!