HTML 编程指南

发布于 2022-07-26

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>

4.2. 对话框

4.3. 下拉菜单栏