HTML5样式指南和代码约定

2023-10-27

目录

HTML 代码约定

智能且有保证

请使用正确的文档类型

请使用小写元素名

关闭所有 HTML 元素

关闭空的 HTML 元素

使用小写属性名

属性值加引号

必需的属性

空格和等号

避免长代码行

空行和缩进

元数据

HTML 注释

样式表

在 HTML 中加载 JavaScript

通过 JavaScript 访问 HTML 元素

使用小写文件名

文件扩展名


HTML 代码约定

web 开发者常常不确定在 HTML 中使用的代码样式和语法。

在 2000 年至 2010 年之间,许多 web 开发者从 HTML 转换为 XHTML。

通过 XHTML,开发者不得不编写有效的“格式良好的”代码。

HTML5 在代码验证时会更宽松一点。

通过 HTML5,我们必须创建属于自己的最佳实践、样式指南和代码约定


智能且有保证

对样式的合乎逻辑的使用,可以令其他人更容易理解和使用您的 HTML。

在未来,诸如 XML 阅读器之类的程序,也许需要阅读您的 HTML。

使用格式良好的“近似 XHTML 的”语法,能够更智能。

注释:请始终保持样式智能、整洁、纯净、格式良好。


请使用正确的文档类型

请始终在文档的首行声明文档类型:

<!DOCTYPE html>

如果一贯坚持小写标签,那么可以使用(不推荐):

<!doctype html>

请使用小写元素名

HTML5 允许在元素名中使用混合大小写字母。

推荐使用小写元素名:

  • 混合大小写名称并不好
  • 开发者习惯使用小写名(比如在 XHTML 中)
  • 小写更起来更纯净
  • 小写更易书写

这样不太好:

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

这样很糟糕:

<Section> 
  <p>This is a paragraph.</p>
</SECTION>

这样还不错:

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

关闭所有 HTML 元素

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

我们建议关闭所有 HTML 元素:

看起来不好:

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

看起来不错:

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

关闭空的 HTML 元素

在 HTML5 中,关闭空元素是可选的。

允许这样:

<meta charset="utf-8">

也允许这样:

<meta charset="utf-8" />

斜杠(/)在 XHTML 和 XML 中是必需的。

如果希望 XML 软件也能正常访问我们的页面,保持这个习惯就好。


使用小写属性名

HTML5 允许大小写混合的属性名。

我们建议使用小写属性名:

  • 混合属性名并不好
  • 开发者习惯于使用小写属性名(比如在 XHTML 中)
  • 小写属性名看情况更纯净
  • 小写属性名更易书写

看起来不好:

<div CLASS="menu">

看起来不错:

<div class="menu">

属性值加引号

HTML5 允许不加引号的属性值。

我们推荐属性值加引号:

  • 如果属性值包含值,则必须使用引号
  • 混合样式绝对不好
  • 加引号的值更易阅读

这个属性值无效,因为值中包含空格:

<table class=table striped>

这样是有效的:

<table class="table striped">

必需的属性

请始终对图像使用 alt 属性。当图像无法显示时该属性很重要。

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

请始终定义图像尺寸。这样做会减少闪烁,因为浏览器会在图像加载之前为图像预留空间。

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

空格和等号

等号两边的空格是合法的:

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

但是精简空格更易阅读, 多个实体也最好放在一起便于阅读:

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

避免长代码行

当使用 HTML 编辑器时,通过左右滚动来阅读 HTML 代码很不方便

请尽量避免代码行超过 80 个字符。


空行和缩进

请勿毫无理由地增加空行。

为了提高可读性,请增加空行来分隔大型或逻辑代码块。

为了提高可读性,请增加两个空格的缩进,请勿使用 TAB。

请勿使用没有必要的空行和缩进。没有必要在短的和相关项目之间使用空行,也没有必要缩进每个元素:

没必要:

<body>

  <h1>Famous Cities</1>

  <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.
    It is the seat of the Japanese government and the Imperial Palace,
    and the home of the Japanese Imperial Family.
  </p>

</body>

更好:

<body>

<h1>Famous Cities</1>
<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.
It is the seat of the Japanese government and the Imperial Palace,
and the home of the Japanese Imperial Family.
</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>

列表示例:

<ol>
  <li>LondonA</li>
  <li>Paris</li>
  <li>Tokyo</li>
</ol>

省略 <html> 和 <body>?

在 HTML5 标准中,能够省略 <html> 标签和 <body> 标签。

以下代码作为 HTML5 进行验证:

示例

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

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

亲自试一试

我们不推荐省略 <html> 和 <body> 标签。

<html> 元素是文本的根元素。它是规定页面语言的理想位置。

<!DOCTYPE html>
<html lang="en-US">

对于可访问应用程序(屏幕阅读器)和搜索引擎,声明语言很重要。

省略 <html> 或 <body> 可令 DOM 和 XML 软件崩溃。

省略 <body> 会在老式浏览器(如IE9)中产生错误。


省略 <head>?

在 HTML5 标准中,<head> 标签也能够被省略。

默认地,浏览器会把 <body> 之前的所有元素添加到默认的 <head> 元素。

通过省略 <head> 标签,您能够降低 HTML 的复杂性:

示例

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

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

</html>

亲自试一试

注释:对于 web 开发者,省略标签的做法是陌生的。建立规则需要时间。


元数据

<title> 元素在 HTML5 中是必需的。请尽可能制作有意义的标题。

<title>HTML5 Syntax and Coding Style</title>

为了确保恰当的解释,以及正确的搜索引擎索引,在文档中对语言和字符编码的定义越早越好:

<!DOCTYPE html>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>HTML5 Syntax and Coding Style</title>
</head>

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. This is a long comment example. This is a long comment example.
-->

长注释更易观察,如果它们被缩进两个空格的话。


样式表

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

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

短规则可以压缩为一行,就像这样:

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

长规则应该分为多行:

body {
  background-color: lightgrey;
  font-family: "Arial Black", Helvetica, sans-serif;
  font-size: 16em;
  color: black;
}
  • 开括号与选择器位于同一行
  • 在开括号之前用一个空格
  • 使用两个字符的缩进
  • 在每个属性与其值之间使用冒号加一个空格
  • 在每个逗号或分号之后使用空格
  • 在每个属性值对(包括最后一个)之后使用分号
  • 只在值包含空格时使用引号来包围值
  • 把闭括号放在新的一行,之前不用空格
  • 避免每行超过 80 个字符

注释:在逗号或分号之后添加空格,是所有书写类型的通用规则。


在 HTML 中加载 JavaScript

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

<script src="myscript.js">

通过 JavaScript 访问 HTML 元素

使用“不整洁”的 HTML 样式的后果,是可能会导致 JavaScript 错误。

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

var obj = getElementById("Demo")

var obj = getElementById("demo")

亲自试一试

如果可能,请在 HTML 中使用(与 JavaScript)相同的命名约定。

请访问 JavaScript 样式指南。


使用小写文件名

大多数 web 服务器(Apache、Unix)对文件名的大小写敏感:

不能以 london.jpg 访问 London.jpg。

其他 web 服务器(微软,IIS)对大小写不敏感:

能够以 london.jpg 或 London.jpg 访问 London.jpg。

如果使用混合大小写,那么您必须保持高度的一致性。

如果您从对大小写不敏感的服务器转到一台对大小写敏感的服务器上,这些小错误将破坏您的网站。

为了避免这些问题,请始终使用小写文件名(如果可以的话)。


文件扩展名

HTML 文件名应该使用扩展名 .html(而不是 .htm)。

CSS 文件应该使用扩展名 .css

JavaScript 文件应该使用扩展名 .js

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML5样式指南和代码约定 的相关文章

随机推荐

  • com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver的区别

    一 驱动报错 driverClassName com mysql jdbc Driver url jdbc mysql db1 useUnicode true characterEncoding utf8 useSSL false user
  • ChatGPT fine tune微调+prompt介绍

    目录 1 如何使用ChatGPT 1 1 图片生成 image generation 1 2 对话 chat 1 3 中文纠错 Chinese Spelling Correct 1 4 关键词提取 keyword extract 1 5 抽
  • Blender的一些使用小结,在辣椒酱基础上加了点,会持续更新

    Blender的一些使用小结 在辣椒酱基础上加了点 会持续更新 操作 快捷键 边线折痕 编辑模式 SHIFT E 点倒角 编辑模式 Ctrl Shift B 按P选择内外 加选 编辑模式 Ctrl 减选 编辑模式 Ctrl 分块选择 编辑模
  • 机器学习如何提高训练模型结果的准确度

    提高输出结果的准确度可以从以下几个方面入手 1 调整超参数 可以尝试调整模型的超参数 比如学习率 迭代次数 隐层维度 卷积核大小等 找到最优的超参数组合来提高准确度 2 增加训练数据 增加训练数据可以让模型更好地学习到数据的特征 从而提高准
  • sql分别从两个表取出_SQL--多表查询

    前几篇文章中 我们查询的数据都是在一张表中进行操作的 而在实际工作中 我们经常需要在不同的表中查询数据 今天我们来学习从多张表中获取数据的方法 多表查询 表的加法 表的联结 用SQL联结解决业务问题 case 表达式 1 表的加法 unio
  • 机器学习三-xmeans

    能力有限 只是表面上理解了公式和图所表达的内容 论文参见 点击打开链接 已有文章分析参见 点击打开链接 具体java代码实现 点击打开链接 核心应该是 分割前BIC分数 gt 分割后BIC分数 结论是 原簇可分割为两个新簇 图示如下 公式如
  • 模板观念和函数模板

    模板 模板是C 的一种特性 允许函数或类 对象 通过泛型的形式表现或运行 模板可以使函数或类在对应不同的型别的时候正常工作 无需为每一个型别都写一份代码 两种模板 类模板 使用泛型参数的类 函数模板 使用泛型参数的函数 模板实例化 模板的声
  • AcWing.102. 最佳牛围栏(二分&&双指针&&前缀和)

    输入样例 10 6 6 4 2 10 3 8 5 9 4 1 输出样例 6500 解析 1 由题意可知答案位于 1 2000以内 所以可以二分这个区间 2 对于每个mid 我们要看是否存在一个区间 这个区间的平均值大于mid 如果存在返回t
  • 使用Spring StateMachine框架实现状态机

    Spring StateMachine框架可能对于大部分使用Spring的开发者来说还比较生僻 该框架目前差不多也才刚满一岁多 它的主要功能是帮助开发者简化状态机的开发过程 让状态机结构更加层次化 前几天刚刚发布了它的第三个Release版
  • 程序媛怎样规划自己的人生

    上个月我跟一个很优秀的程序媛聊天 她感到职业上有些迷茫 希望向我寻求答案 我让她先自己想一想 说这个月专门写一篇文章来讲一讲 其实我在等一个我自己的答案 但是这个月还是没等到 但是说过的话要算数 我还是写一篇来聊聊这个问题 我不能回答其他任
  • 自定义QDockWidget的标题栏

    左侧为自定义 右侧为原始 通过QDockWidget setTitleBarWidget 实现标题栏自定义 MDockWidget cpp include MDockWidget h include
  • Elasticsearch 安装配置 外网访问 及 后台启动

    本文转自http www jianshu com p 658961f707d8 作者 咪博士 感谢咪博士分享 Elasticsearch的安装总体来说还是相当简单的 当然中间也会有些小坑 不过大家也不必太过担心 咪博士将给大家详细演示如何在
  • qq批量登录软件_QQ账号永久冻结

    昨天上午我的QQ被永久冻结了 理由是批量加好友批量登录啥的 这个理由看的我也是一脸懵逼 我一个学生QQ的好友也就一百多个 我的QQ主要也就是打打游戏跟朋友养个花火聊天 怎么就批量加好友了呢 封号前一天我还跟朋友打游戏打到后半夜 第二天直接给
  • Python--爬取天气网站天气数据并进行数据分析

    目的 从天气网站中爬取数据 生成excel表格 里面存储南昌市近十一年的天气情况 并对爬取产生的数据进行数据分析 第一步 编写代码进行数据爬取 首先 导入 requests 模块 并调用函数 requests get 从天气的网站上面获 取
  • 【满分】【华为OD机试真题2023 JS】获得完美走位

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 获得完美走位 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 在第一人称射击游戏中 玩家通过键盘的A S D W四个按键控制游戏人物分别向左 向后 向右 向前进行
  • xpath解析页面中文乱码

    res requests get url headers headers html etree HTML res text 这样写后面进行处理时得到的内容乱码了 改为以下形式 可以正常显示中文 html etree HTML res con
  • 前端小游戏2048(一步步详解附带源代码,源码上传到csdn,可以免费下载)

    2048小游戏 2048是前端开发必经的一个小游戏 2048小游戏包含了HTML CSS和JavaScript 简介 2048 是一款益智小游戏 这款游戏是由年仅19岁的意大利程序员加布里勒希鲁尼 Gabriele Cirulli 开发出来
  • python随机数模块——random

    近期遇到了一个很常见又不是很注意的随机数问题 随机数 gt 伪随机数 在这里特地的写下来作为提醒 随机数一般情况下我们直接使用random 但是random这个随机数有点假 伪随机 解析如下 Python3实现随机数 random是用于生成
  • JavaScript简写技巧

    声明变量 Longhand let x let y 20 Shorthand let x y 20 给多个变量赋值 我们可以使用数组解构来在一行中给多个变量赋值 Longhand let a b c a 5 b 8 c 12 Shortha
  • HTML5样式指南和代码约定

    目录 HTML 代码约定 智能且有保证 请使用正确的文档类型 请使用小写元素名 关闭所有 HTML 元素 关闭空的 HTML 元素 使用小写属性名 属性值加引号 必需的属性 空格和等号 避免长代码行 空行和缩进 元数据 HTML 注释 样式