1. 注释
注释形式是 <!--COMMENT-->
.
2. 基本结构
2.1. 文档
HTML
文档的基本结构是
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<header>
<nav></nav>
</header>
<main>
<article>
<section>
</section>
<figure>
</figure>
<figcaption></figcaption>
</article>
</main>
<aside>
</aside>
<footer>
</footer>
</body>
</html>
HTML
文档中连续的空格只会翻译为 1 个空格, 需要连续空格则应使用转义字符.
2.2. 文档头部分
文档头部分不应包含任何正文内容.
2.2.1. 索引标题
<title></title>
定义该网页在浏览器标签页标签中显示的标题内容, 该内容也是搜索引擎检索网页的依据.
2.2.2. 工作路径
<base href="URL" target="MODE"></base>
定义该网页内容的工作路径和打开方式.
参数 href
定义工作路径, 该网页文档体部分元素的路径只需写相对该位置的路径即可.
参数 target
定义网页打开方式. _self
为在当前标签页打开 (默认), _blank
为在新标签页中打开, _parent
、 _top
和 "FRAME_NAME"
常用于框架网页设计.
2.2.3. 外部链接
<link></link>
2.2.4. 其他数据
<meta></meta>
定义该网页的其它相关数据.
参数 name
定义属性名, 与参数 content
连用. 常用属性名如 "author"
(网站作者) , "description"
(用于搜索引擎优化的描述 (至多 155 字符)), "keywords"
.
2.3. 文档体部分
2.3.1. 标题
分级标题由大到小分为 <h1></h1>
到 <h6></h6>
六级.
2.3.2. 文本组织
段落块分为 <p></p>
和 <div></div>
, 前者会增加段前段后行距, 而后者不会.
行内文本块使用 <span></span>
.
<div>
和 <span>
可使用参数 style
, 通常用于与 CSS 结合进行风格化时的范围限定. 如
<div style="color:red">
<p></p>
<span style="color:blue"></span>
<p></p>
</div>
<span style="color:blue"></span>
2.3.3. 分行与分行使能
分行分为 <br>
和 <hr>
, 前者直接回车换行至下一行行首, 后者在当前行下插入分割线, 再将光标移动至下一行行首. HTML
文件中的空行不会被翻译为空行符.
分行使能可使用 <wbr>
, 一般用于超长单词的手动断行. 当出现超长单词时, 允许翻译器在 <wbr>
处将该单词断成两行打印.
3. 纯文本风格处理
注意: 用户代理会将语义符和美学风格化符区分开, 因此不应在纯美学场景使用语义符.
3.1. 上标和下标
上标和下标分别使用 <sup></sup>
和 <sub></sub>
.
3.2. 粗体、斜体、下划线、删除线和强调
纯文本的粗体、斜体风格化分别使用 <b></b>
和 <i></i>
.
下划线风格化使用 <u></u>
. 由于网页显示中下划线容易与超链接混淆, 应尽可能避免使用下划线美学风格.
删除线风格化使用 <s></s>
.
加粗强调、倾斜强调和高光强调分别使用 <strong></strong>
、 <em></em>
和 <mark></mark>
.
注意: 强调符使用中, 应避免其仅仅表示纯文本的粗体、斜体风格化, 而忽略其语义上的强调意义. 当粗体、斜体仅具有美学意义时, 不应使用强调符.
3.3. 长引用、行内引用和标题引用
长段引用使用 <blockquote [cite="URL"]></blockquote>
, 其中可选参数 cite
给出引用的URL字符串. 该参数只作为用户代理参考, HTML
文件翻译后不会生成 cite
参数的超链接.
行内引用使用 <q></q>
, 引用块内容翻译后将产生被双引号括起的文本.
标题引用使用 <cite></cite>
, 引用块内容翻译后将变为斜体.
注意: 当双引号、斜体仅具有美学意义时, 不应使用引用符.
3.4. 定义、缩写和行内注释
定义使用 <dfn></dfn>
, 定义块内容翻译后将变为斜体, 该词的定义应在其后尽快给出.
缩写使用 <abbr [title="DESCRIPTION"]></abbr>
, 其中可选参数 title
给出该缩写的全称, 并将在光标移动到该词上时, 以浮窗形式显示全称.
注意: 当斜体仅具有美学意义时, 不应使用定义符.
行内注释使用 <small></small>
, 注释块内容翻译后将变为更小号的字体, 通常用于对内容进行简短的补充说明.
注意: 当缩小字号仅具有美学意义时, 不应使用行内注释. 行内注释只应对短小的说明使用, 应避免其内容过长.
3.5. 纯文本修订
插入和删除分别使用 <ins></ins>
和 <del></del>
. 修订块内容翻译后将分别加上下划线和删除线.
注意: 当下划线、删除线仅具有美学意义时, 不应使用修订符.
3.6. 代码块
程序块使用 <code></code>
, 程序块内容翻译后将以等宽字体打印.
输入和输出分别使用 <kbd></kbd>
和 <samp></samp>
, 分别表示需要用户输入或互动的内容和程序输出. 其内容翻译后的打印形式与程序块相同.
3.7. 格式化打印
格式化打印使用 <pre></pre>
, 该块内容翻译后将以等宽字体打印其中的所有内容 (包括制表符), 并增加该块前后的行间距.
3.8. 时地信息
时地信息分别使用 <time datetime="YYYY-MM-DD HH:MM"></time>
和 <address></address>
. 其中参数 datetime
只作为用户代理参考, 不会在浏览器中显示. datetime
参数可使用模糊时间, 如 "YYYY"
, "YYYY-MM"
, "MM-DD"
, "YYYY-WXX"
, 其中 WXX
表示该年第 XX
周 (如 W15
表示该年第 15 周).
3.9. 转义字符
4. 用户交互
4.1. 内容折叠
<details>
<summary></summary>
</details>