HTML 编码规范
Posted 前端向朔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML 编码规范相关的知识,希望对你有一定的参考价值。
html 编码规范
语法
- 用两个空格来代替制表符(tab) —— 这是唯一能保证在所有环境下获得一致展现的方法。
- 嵌套元素应当缩进一次(即两个空格)。
- 对于属性的定义,确保全部使用双引号,绝不要使用单引号。
- 不要在自闭合(self-closing)元素的尾部添加斜线 – HTML5 规范中明确说明这是可选的。
- 不要省略可选的结束标签(closing tag)(例如,
</li>
或</body>
)。
<!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
为每个 HTML 页面的第一行添加标准模式(standard mode)的声明,这样能够确保在每个浏览器中拥有一致的展现。
<!DOCTYPE html>
<html>
<head>
</head>
</html>
lang属性
根据 HTML5 规范:
应在html标签上加上lang属性。这会给语音工具和翻译工具帮助,告诉它们应当怎么去发音和翻译。
更多关于 lang
属性的说明在这里;
在sitepoint上可以查到语言列表;但sitepoint只是给出了语言的大类,例如中文只给出了 zh
,但是没有区分香港,台湾,大陆。而微软给出了一份更加详细的语言列表,其中细分了 zh-cn
, zh-hk
, zh-tw
。
<!DOCTYPE html>
<html lang="zh-CN">
...
</html>
字符编码
通过声明一个明确的字符编码,让浏览器轻松、快速的确定适合网页内容的渲染方式,通常指定为’UTF-8’。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
</html>
IE 兼容模式
IE 支持通过特定的 标签来确定绘制当前页面所应该采用的 IE 版本。除非有强烈的特殊需求,否则最好是设置为 edge mode,从而通知 IE 采用其所支持的最新的模式。
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
引入 CSS 和 javascript 文件
根据 HTML5 规范,在引入 CSS 和 JavaScript 文件时一般不需要指定 type
属性,因为 text/css
和 text/javascript
分别是它们的默认值。
<!-- External CSS -->
<link rel="stylesheet" href="code-guide.css">
<!-- In-document CSS -->
<style>
/* ... */
</style>
<!-- JavaScript -->
<script src="demo.js"></script>
<script>
/* ... */
</script>
属性顺序
HTML 属性应当按照以下给出的顺序依次排列,确保代码的易读性。
- class
- id, name
- data-*
- src, for, type, href, value
- title, alt
- role, aria-*
class
用于标识高度可复用组件,因此应该排在首位。id
用于标识具体组件,应当谨慎使用(例如,页面内的书签),因此排在第二位。
<a class="xxx" id="xxx" data-toggle="modal" href="#">Example link</a>
<input class="form-control" type="text">
<img src="..." alt="...">
JavaScript 生成的标签
通过 JavaScript 生成的标签让内容变得不易查找、编辑,并且降低性能。能避免时尽量避免。
以上是关于HTML 编码规范的主要内容,如果未能解决你的问题,请参考以下文章