HTML 风格指南


一致、干净、整洁的 HTML 代码可以让其他人更轻松地阅读和理解您的代码。

以下是创建良好 HTML 代码的一些准则和技巧。


始终声明文档类型

始终将文档类型声明为文档的第一行。

HTML 的正确文档类型是:

<!DOCTYPE html>

使用小写元素名称

HTML 允许在元素名称中混合大写和小写字母。

但是,我们建议使用小写元素名称,因为:

  • 混合大写和小写名称看起来很糟糕
  • 开发人员通常使用小写名称
  • 小写看起来更干净
  • 小写更容易写

好的:

<body>
<p>This is a paragraph.</p>
</body>

坏的:

<BODY>
<P>This is a paragraph.</P>
</BODY>


关闭所有 HTML 元素

在 HTML 中,您不必关闭所有元素(例如<p>元素)。

但是,我们强烈建议关闭所有 HTML 元素,如下所示:

好的:

<section>
  <p>This is a paragraph.</p>
  <p>This is a paragraph.</p>
</section>

坏的:

<section>
  <p>This is a paragraph.
  <p>This is a paragraph.
</section>

使用小写属性名称

HTML 允许在属性名称中混合大小写字母。

但是,我们建议使用小写属性名称,因为:

  • 混合大写和小写名称看起来很糟糕
  • 开发人员通常使用小写名称
  • 小写看起来更干净
  • 小写更容易写

好的:

<a href="https://www.91xjr.com/html/">Visit our HTML tutorial</a>

坏的:

<a HREF="https://www.91xjr.com/html/">Visit our HTML tutorial</a>

始终引用属性值

HTML 允许不带引号的属性值。

但是,我们建议引用属性值,因为:

  • 开发人员通常引用属性值
  • 引用的值更容易阅读
  • 如果值包含空格,则必须使用引号

好的:

<table class="striped">

坏的:

<table class=striped>

很坏:

这不起作用,因为该值包含空格:

<table class=table striped>

始终指定图片的 alt、宽度和高度

始终指定alt图片的属性。如果由于某种原因无法显示图片,则此属性非常重要。

另外,始终定义width height的图片。这可以减少闪烁,因为浏览器可以在加载之前为图片保留空间。

好的:

<img src="html5.gif" alt="HTML5" style="width:128px;height:128px">

坏的:

<img src="html5.gif">

空格和等号

HTML 允许等号两边有空格。但无空间更容易阅读,并且可以更好地将实体分组在一起。

好的:

<link rel="stylesheet" href="styles.css">

坏的:

<link rel = "stylesheet" href = "styles.css">

避免长代码行

使用 HTML 编辑器时,左右滚动来阅读 HTML 代码并不方便。

尽量避免代码行太长。


空行和缩进

请勿无故添加空行、空格或缩进。

为了便于阅读,请添加空行来分隔大代码块或逻辑代码块。

为了便于阅读,请添加两个缩进空格。不要使用 Tab 键。

好的:

<body>

<h1>Famous Cities</h1>

<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area, and the most populous metropolitan area in the world.</p>

<h2>London</h2>
<p>London is the capital city of England. It is the most populous city in the United Kingdom.</p>

<h2>Paris</h2>
<p>Paris is the capital of France. The Paris area is one of the largest population centers in Europe.</p>

</body>

坏的:

<body>
<h1>Famous Cities</h1>
<h2>Tokyo</h2><p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area, and the most populous metropolitan area in the world.</p>
<h2>London</h2><p>London is the capital city of England. It is the most populous city in the United Kingdom.</p>
<h2>Paris</h2><p>Paris is the capital of France. The Paris area is one of the largest population centers in Europe.</p>
</body>

好的表示例:

<table>
  <tr>
    <th>Name</th>
    <th>Description</th>
  </tr>
  <tr>
    <td>A</td>
    <td>Description of A</td>
  </tr>
  <tr>
    <td>B</td>
    <td>Description of B</td>
  </tr>
</table>

好的列表示例:

<ul>
  <li>London</li>
  <li>Paris</li>
  <li>Tokyo</li>
</ul>

切勿跳过 <title> 元素

这个<title>元素是 HTML 中必需的。

页面标题的内容对于搜索引擎优化(SEO)非常重要!搜索引擎算法使用页面标题来决定在搜索结果中列出页面时的顺序。

这个<title>元素:

  • 定义浏览器工具栏中的标题
  • 当页面添加到收藏夹时提供页面标题
  • 在搜索引擎结果中显示页面的标题

因此,尝试使标题尽可能准确且有意义:

<title>HTML Style Guide and Coding Conventions</title>

省略 <html> 和 <body>?

HTML 页面将在没有<html><body>标签:

示例

<!DOCTYPE html>
<head>
  <title>Page Title</title>
</head>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>
亲自试一试 »

但是,我们强烈建议始终添加<html><body>标签!

省略<body>可能会在较旧的浏览器中产生错误。

省略<html><body>还可能导致 DOM 和 XML 软件崩溃。


省略<head>?

HTML <head> 标记也可以省略。

浏览器会在之前添加所有元素<body>, 为默认值<head>元素。

示例

<!DOCTYPE html>
<html>
<title>Page Title</title>
<body>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>

</body>
</html>
亲自试一试 »

但是,我们建议使用<head>标签。


关闭空 HTML 元素?

在 HTML 中,可以选择关闭空元素。

允许:

<meta charset="utf-8">

还允许:

<meta charset="utf-8" />

如果您希望 XML/XHTML 软件访问您的页面,请保留结束斜杠 (/),因为 XML 和 XHTML 中需要它。


添加 lang 属性

您应该始终包括lang里面的属性<html>标签,声明网页的语言。这是为了帮助搜索引擎和浏览器。

示例

<!DOCTYPE html>
<html lang="en-us">
<head>
  <title>Page Title</title>
</head>
<body>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>

</body>
</html>
亲自试一试 »

元数据

为了确保正确的解释和正确的搜索引擎索引,语言和字符编码<meta charset="charset">应尽早在 HTML 文档中定义:

<!DOCTYPE html>
<html lang="en-us">
<head>
  <meta charset="UTF-8">
  <title>Page Title</title>
</head>

设置视口

视口是网页的用户可见区域。它因设备而异 - 在手机上它会比在电脑屏幕上小。

您应该包括以下内容<meta>所有网页中的元素:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

这为浏览器提供了如何控制页面尺寸和缩放的说明。

这个width=device-width部分设置页面的宽度以遵循设备的屏幕宽度(这将根据设备而变化)。

这个initial-scale=1.0部分设置浏览器首次加载页面时的初始缩放级别。

这是一个网页示例没有视口元标记和相同的网页视口元标记:

提示:如果您使用手机或平板电脑浏览此页面,可以点击下面的两个链接查看区别。



HTML 注释

简短的注释应该写在一行上,如下所示:

<!-- This is a comment -->

超过一行的注释应该这样写:

<!--
  This is a long comment example. This is a long comment example.
  This is a long comment example. This is a long comment example.
-->

如果长注释缩进两个空格,则更容易观察。


使用样式表

使用简单的语法链接到样式表( type属性不是必需的):

<link rel="stylesheet" href="styles.css">

简短的 CSS 规则可以被压缩编写,如下所示:

p.intro {font-family:Verdana;font-size:16em;}

长 CSS 规则应该写成多行:

body {
  background-color: lightgrey;
  font-family: "Arial Black", Helvetica, sans-serif;
  font-size: 16em;
  color: black;
}
  • 将左括号与选择器放在同一行
  • 在左括号前使用一个空格
  • 使用两个空格的缩进
  • 在每个属性值对之后使用分号,包括最后一个
  • 仅当值包含空格时才在值周围使用引号
  • 将右括号放在新行上,不要有前导空格

在 HTML 中加载 JavaScript

使用简单的语法加载外部脚本( type属性不是必需的):

<script src="myscript.js">

使用 JavaScript 访问 HTML 元素

使用 "untidy" HTML 代码可能会导致 JavaScript 错误。

这两个 JavaScript 语句将产生不同的结果:

示例

getElementById("Demo").innerHTML = "Hello";

getElementById("demo").innerHTML = "Hello";
亲自试一试 »

访问 JavaScript 样式指南.


使用小写文件名

某些 Web 服务器(Apache、Unix)对文件名区分大小写:"london.jpg" 无法作为 "London.jpg" 进行访问。

其他网络服务器(Microsoft、IIS)不区分大小写:"london.jpg" 可以作为 "London.jpg" 进行访问。

如果您混合使用大写和小写,则必须注意这一点。

如果您从不区分大小写的服务器转移到区分大小写的服务器,即使是小错误也会破坏您的网络!

为了避免这些问题,请始终使用小写文件名!


文件扩展名

HTML 文件应该有一个.html扩大 (.htm被允许)。

CSS 文件应该有一个.css扩大。

JavaScript 文件应该有一个.js扩大。


.htm 和 .html 之间的区别?

.htm 和 .html 文件扩展名没有区别!

任何 Web 浏览器和 Web 服务器都会将两者视为 HTML。


默认文件名

当 URL 末尾未指定文件名(如 "https://www.91xjr.com/")时,服务器仅添加默认文件名,如 "index.html"、"index.htm"、"default.html" 或 # {4}#。

如果您的服务器仅配置为"index.html" 作为默认文件名,则您的文件必须命名为"index.html",而不是"default.html"。

然而,服务器可以配置多个默认文件名;通常您可以根据需要设置任意多个默认文件名。