MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

这一页列出了所有的  HTML elements (元素)。元素按功能分类,以帮助你轻松地寻找元素。尽管本文是为新手写的,但我们希望它能帮到所有人。

更多关于HTML元素、属性的基本信息,请查阅the section on elements in the Introduction to HTML article.

根元素

元素 描述
<html> HTML <html> 元素 表示一个HTML文档的根(顶级元素),所所以它也被称为根元素。其他所有其他元素必须是此元素的后代。

文档元数据

元数据(Metadata)含有页面的相关信息,包括样式、脚本及数据,能帮助一些软件 (如搜索引擎, 浏览器等等)更好地运用和渲染页面。对于样式和脚本的元数据,可以直接在网页里定义,也可以链接到包含相关信息的外部文件。

元素 描述
<base> HTML <base> 元素 指定文档里所有相对 URLs 地址的基础 URL 。一份文档最多只能有一个 <base> 元素。
<head> HTML head 元素 规定文档相关的通用信息(元数据),包括文档的标题,文档的样式和脚本的链接(定义)等。
<link> HTML <link>元素指定了外部资源与当前文档的关系. 这个元素的使用方法包括为导航定义关系框架.这个元素经常用来链接css文件。
<meta> HTML <meta> 元素表示那些不能由其它HTML元相关元素 (<base>, <link>, <script>, <style><title>) 之一表示的任何元数据信息.
<style> HTML的<style>元素包含了文档的样式化信息或者文档的一部分。指定的样式化星系包含的该元素内,通常是CSS的格式。
<title> HTML <title> 元素 定义文档的标题,显示在浏览器的标题栏或标签页上。它只可以包含文本,若是包含有标签,则包含的任何标签都不会被解释。

内容分区

内容分区元素允许你将文档内容从逻辑上进行组织划分。使用包括页眉(header)、页脚(footer)、导航(nav)和标题(h1~h6)等分区元素,来为页面内容创建明确的大纲,以便区分各个章节的内容。

元素 描述
<address> HTML <address>元素可以让作者为它最近的<article>或者<body>祖先元素提供联系信息。在后一种情况下,它应用于整个文档。
<article> <article>元素表示文档、页面、应用或网站中的独立结构,其意在成为可独立分配的或可复用的结构,如在发布中,它可能是论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组件,或者其他独立的内容项目。
<aside> <aside> 元素表示一个和其余页面内容几乎无关的部分,被认为是独立于该内容的一部分并且可以被单独的拆分出来而不会使整体受影响。其通常表现为侧边栏或者嵌入内容。他们通常包含在工具条,例如来自词汇表的定义。也可能有其他类型的信息,例如相关的广告、笔者的传记、web 应用程序、个人资料信息,或在博客上的相关链接。
<footer> HTML <footer> 元素表示最近一个章节内容或者根节点(sectioning root )元素的页脚。一个页脚通常包含该章节作者、版权数据或者与文档相关的链接等信息。
<h1–h6>
<header> <header>元素表示一组引导性的帮助,可能包含标题元素,也可以包含其他元素,像logo、分节头部、搜索表单等。
<hgroup> HTML <hgroup> Element (HTML Headings Group Element) 代表一个段的标题。它规定了在文档轮廓里(the outline of the document )的单一标题是它所属的隐式或显式部分的标题。
<nav> HTML导航栏 (<nav>) 描绘一个含有多个超链接的区域,这个区域包含转到其他页面,或者页面内部其他部分的链接列表.
<section> HTML Section 元素 (<section>) 表示文档中的一个区域(或节),比如,内容中的一个专题组,一般来说会有包含一个标题(heading)。一般通过是否包含一个标题 (<h1>-<h6> element) 作为子节点 来 辨识每一个<section>。
  

文本内容

使用 HTML 文本内容元素来组织在开标签 <body> 和闭标签 </body> 里的块或章节的内容。这些元素能标识内容的宗旨或结构,而这对于 accessibilitySEO 很重要。

元素 描述
<blockquote> HTML中的
元素(或者 HTML 块级引用元素),代表其中的文字是引用内容。通常在渲染时,这部分的内容会有一定的缩进( 中说明了如何更改)。若引文来源于网络,则可以将原内容的出处 URL 地址设置到 cite 特性上,若要以文本的形式告知读者引文的出处时,可以通过 <cite> 元素。
<dd> HTML <dd> 元素HTML 描述元素)用来指明一个描述列表  (<dl>) 元素中一个术语的描述。这个元素只能作为描述列表元素的子元素出现,并且必须跟着一个 <dt> 元素。
<div> HTML <div> 元素 (或 HTML 文档分区元素) 是一个通用型的流内容容器,它在语义上不代表任何特定类型的内容,它可以被用来对其它元素进行分组,一般用于样式化相关的需求(使用 class 或 id 特性) 或者对具有相同特性的一组元素进行分组 (比如 lang),它应该在没有任何其它语义元素可用是才使用 (比如 <article> 或 <nav>) 。
<dl> HTML <dl> 元素 (或 HTML 描述列表元素)是一个包含术语定义以及描述的列表,通常用于展示词汇表或者元数据 (键-值对列表)。
<dt> HTML <dt> 元素 (或 HTML 术语定义元素)用于在一个定义列表中声明一个术语。该元素仅能作为 <dl> 的子元素出现。通常在该元素后面会跟着 <dd> 元素, 然而,多个连续出现的 <dt> 元素都将由出现在它们后面的第一个 <dd> 元素定义。
<figcaption> HTML <figcaption> 元素 是与其相关联的图片的说明/标题,用于描述其父节点 <figure> 元素里的其他数据。这意味着 <figcaption> 在<figure> 块里是第一个或最后一个。同时 HTML Figcaption 元素是可选的;如果没有该元素,这个父节点的图片只是会没有说明/标题。
<figure> HTML <figure> 元素代表一段独立的内容, 经常与说明(caption) <figcaption> 配合使用, 并且作为一个独立的引用单元。当它属于主体(main flow)时,它的位置独立于主体。这个标签经常是在主文中引用的图片,插图,表格,代码段等等,当这部分转移到附录中或者其他页面时不会影响到主体。
<hr> HTML <hr> 元素表示段落级元素之间的主题转换(例如,一个故事中的场景的改变,或一个章节的主题的改变)。在HTML的早期版本中,它是一个水平线。现在它仍能在可视化浏览器中表现为水平线,但目前被定义为语义上的,而不是表现层面上。
<li> HTML <li> 元素 (或者 HTML 列表条目元素) 用于表示列表里的条目。它必须被包含在一个父元素里:一个有顺序的列表(<ol>),一个无顺序的列表(<ul>),或者一个菜单 (<menu>)。在菜单或者无顺序的列表里,列表条目通常用点排列显示。在有顺序的列表里,列表条目通常是在左边有按升序排列计数的显示,例如数字或者字母。
<main> HTML Main元素(<main>)呈现了文档<body>或应用的主体部分。主体部分由与文档直接相关,或者扩展于文档的中心主题、应用的主要功能部分的内容组成。这部分内容在文档中应当是独一无二的,不包含任何在一系列文档中重复的内容,比如侧边栏,导航栏链接,版权信息,网站logo,搜索框(除非搜索框作为文档的主要功能)。</main>
<ol> HTML <ol> 元素 表示多个有序列表项,通常渲染为有带编号的列表。
<p> HTML <p>元素(或者说 HTML 段落元素)表示文本的一个段落。该元素通常表现为一整块与相邻文本分离的文本,或以垂直的空白隔离或以首行缩进。另外,<p> 是块级元素
<pre> HTML <pre> 元素表示预定义格式文本。在该元素中的文本通常按照原文件中的编排,以等宽字体的形式展现出来,文本中的空白符(比如空格和换行符)都会显示出来。(紧跟在 <pre> 开始标签后的换行符也会被省略)
<ul> The HTML <ul> 元素 ( 或 HTML 无序列表元素 代表多项的无序列表,即无数值排序项的集合,且它们在列表中的顺序是没有意义的。通常情况下,无序列表项的头部可以是几种形式,如一个点,一个圆形或方形。头部的风格并不是在页面的HTML描述定义, 但在其相关的CSS 可以用 list-style-type 属性。

内联文本语义

使用 HTML 内联文本语义(Inline text semantics)定义语句,结构,可以是一个词,一段,或任意风格的文字。

元素 描述
<a> HTML 中的 <a>元素 (或HTML锚元素, Anchor Element) 用于定义一个超链接到其他网络页面,文件,相同页面的某个位置,电子邮件地址或其他任何URL。
<abbr> HTML中的<abbr>元素(或HTML缩写元素)表示一个缩写,并且可以视需要对它提供完整描述。如果提供描述,那么title属性的值必须是这个完整描述,而不能是其他值。比如 "Inc."、"etc."。通过对缩写词语进行标记,您就能够为浏览器、拼写检查程序、翻译系统以及搜索引擎分度器提供有用的信息。
<b> HTML <b> 元素表示相对于普通文本字体上的区别,但不表示任何特殊的强调或者关联。它通常用在摘要中的关键字、审查中的产品名称或者其他需要显示为加粗的文字区域。它的另一个使用例子是用来标记一篇文章中每一段的引言。
<bdi> HTML <bdi> 元素 (双向隔离元素) 会隔离可能以不同方向进行格式化的外部文本。
<bdo> <bdo> 元素 (HTML双向覆盖元素)用于覆盖当前文本的朝向,它使得字符的排列方式被给定的方向覆盖。
<br> HTML 元素 换行 <br> 在文本中产生一个换行(回车键)。这对于写诗或写一个地址来说显得很有用。它可以将行明显地分开。
<cite> HTML引用( Citation)标签 (<cite>) 表示一个作品的引用。它必须包含引用作品的符合简写格式的标题或者URL。It must include the title of a work or a URL reference, which may be in an abbreviated form according to the conventions used for the addition of citation metadata.
<code> HTML <code> 元素呈现一段计算机代码. 默认情况下, 它以浏览器的默认等宽字体显示.
<data> HTML <data> 元素 将一个指定内容和机器可读的翻译联系在一起。但如果内容是与 time 或者 date 相关的,一定要使用 <time>
<dfn> HTML 定义元素 (<dfn>) 表示术语的一个定义。
<em> HTML 着重元素 (<em>) 标记出需要用户着重阅读的内容, <em> 元素是可以嵌套的,嵌套层次越深,则其包含的内容被认定为越需要着重阅读。
<i> HTML元素 <i> 用于表现因某些原因需要区分普通文本的一系列文本。例如技术术语、外文短语或是小说中人物的思想活动等,它的内容通常以斜体显示。
<kbd> HTML键盘输入元素(<kbd>) 用于表示用户输入,它将产生一个行内元素,以浏览器的默认monospace字体显示。
<mark> 这个 HTML mark 标签代表突出显示的文字,例如可以为了标记特定上下文中的文本而使用这个标签. 举个例子,它可以用来显示搜索引擎搜索后关键词。
<q> HTML引用标签 (<q>)表示一个封闭的并且是短的行内引用的文本. 这个标签是用来引用短的文本,所以请不要引入换行符; 对于长的文本的引用请使用 <blockquote> 替代.
<rp>
<rt>
<rtc>
<ruby> HTML <ruby> 元素 被用来展示东亚文字注音或字符注释。
<s>
<samp> <samp> 元素用于标识计算机程序输出,通常使用浏览器缺省的 monotype 字体(例如 Lucida Console)。
<small> HTML 中的元素將使文本的字体变小一号。(例如从大变成中等,从中等变成小,从小变成超小)。在HTML5中,除了它的样式含义,这个元素被重新定义为表示边注释和附属细则,包括版权和法律文本。
<span> HTML <span> 元素是短语内容的通用行内容器,并没有任何特殊语义。可以使用它来编组元素以达到某种样式意图(通过使用类或者Id属性),或者这些元素有着共同的属性,比如lang。应该在没有其他合适的语义元素时才使用它。<span> 与 <div> 元素很相似,但 <div> 是一个 块元素<span> 则是 行内元素 .
<strong> Strong 元素 (<strong>)表示文本十分重要,一般用粗体显示。
<sub>
<sup>
<time> HTML time 标签(<time>) 用来表示24小时制时间或者公历日期,若表示日期则也可包含时间和时区。
<u> HTML <u> 元素使文本在其内容的基线下的一行呈现下划线。在HTML5中, 此元素表示具有未标注的文本跨度,显示渲染,非文本注释,例如将文本标记为中文文本中的专有名称(一个正确的中文标记), 或 将文本标记为拼写错误。
<var> <var> 标签表示变量的名称,或者由用户提供的值。
<wbr>

图片和多媒体

HTML 支持各种多媒体资源,例如图像,音频和视频。

元素 描述
<area> HTML <area> 元素 在图片上定义一个热点区域
<audio> HTML <audio> 元素用于在文档中表示音频内容。 <audio> 元素可以包含多个音频资源, 这些音频资源可以使用 src 属性或者<source> 元素来进行描述; 浏览器将会选择最合适的一个来使用。对于不支持<audio>元素的浏览器,<audio>元素也可以作为浏览器不识别的内容加入到文档中。
<img> HTML Image 元素( <img> )代表文档中的一个图像。
<map> 这个HTML <map> 属性<area> 属性一起使用来定义一个图像映射(一个可点击的链接区域).
<track> HTML <track> 元素 被当作媒体元素—<audio><video>的子元素来使用。它允许指定计时字幕(或者基于事件的数据),例如自动处理字幕。
<video> HTML <video> 元素 用于在HTML或者XHTML文档中嵌入视频内容。

内嵌内容

除了常规的多媒体内容,HTML 可以包括各种其他的内容,即使它并不容易交互。

元素 描述
<embed> HTML <embed> 元素 用于表示一个外部应用或交互式内容的集合点,换句话说,就是一个插件。
<object> HTML <object> 元素(或者称作 HTML 嵌入对象元素)表示引入一个外部资源,这个资源可能是一张图片,一个嵌入的浏览上下文,亦或是一个插件所使用的资源。
<param> HTML <param> 元素(或 HTML Parameter 元素) 定义了 <object>的参数
<source> The HTML <source> element specifies multiple media resources for either the <picture>, the <audio> or the <video> element. It is an empty element. It is commonly used to serve the same media content in multiple formats supported by different browsers.

脚本

为了创建动态内容和 Web 应用程序,HTML 支持使用脚本语言,最突出的就是 JavaScript。某些元素支持此功能。

元素 描述
<canvas> <canvas>元素可被用来通过脚本(通常是JavaScript)绘制图形。比如,它可以被用来绘制图形,制作图片集合,甚至用来实现动画效果。你可以(也应该)在元素标签内写入可提供替代的的代码内容,这些内容将会在在旧的、不支持<canvas>元素的浏览器或是禁用了JavaScript的浏览器内渲染并展现。
<noscript> 如果页面上的脚本类型不受支持或者当前在浏览器中关闭了脚本,则HTML <noscript>元素定义要插入的html部分。</noscript>
<script> HTML <script> 元素用于嵌入或引用可执行脚本。

编辑标识

这些元素能标示出某个文本被更改过的部分。

元素 描述
<del> HTML 删除文字元素(<del>)表示已经从文档中删除的文本范围。此元素通常是(但不必)呈现删除线的文本。
<ins> HTML <ins> 元素定义已经被插入文档中的文本。

表格内容

这里的元素用于创建和处理表格数据。

元素在一个 元素中可以出现一个或者更多。
元素 描述
<caption> HTML <caption> 元素 (or HTML 表格标题元素) 展示一个表格的标题, 它常常作为 <table> 的第一个子元素出现,同时显示在表格内容的最前面,但是,它同样可以被CSS样式化,所以,它同样可以出现在任何一个一个相对于表格的做任意位置。
<col> HTML <col> 元素 定义表格中的列,并用于定义所有公共单元格上的公共语义。它通常位于<colgroup>元素内。
<colgroup> HTML 中的 表格列组(Column Group <colgroup>) 标签用来定义表中的一组列表。
<table> HTML的 table 元素表示表格数据 — 即通过二维数据表表示的信息。
<tbody> 这个 HTML 标签
<td> The Table cell HTML element (<td>) defines a cell of a table that contains data. It participates in the table model.
<tfoot>
<th>
<thead> HTML<thead>元素定义了一组定义表格的列头的行。
<tr> HTML <tr> 元素定义表格中的行。 Those can be a mix of <td> and <th> elements.

表单

HTML 提供了许多可一起使用的元素,这些元素能用来创建一个用户可以填写并提交到网站或应用程序的表单。详情请参阅 HTML forms guide

元素 描述
<button> HTML <button>元素 表示一个可点击的按钮。
<datalist> HTML Datalist 元素 (<datalist>) 包含了一组<option>元素,这些元素表示其它表单控件可选值.
<fieldset>
<form> HTML <form> 元素 表示了文档中的一个区域,这个区域包含有交互控制元件,用来向web服务器提交信息。
<input> HTML <input> 元素用于为基于Web的表单创建交互式控件,以便接受来自用户的数据。
<label> HTML
<legend> HTML的<legend>元素(也称为HTML的域说明元素(or HMTL
 Legend Field Element))代表一个用于表示它的父元素<fieldset>的内容的标题。</legend>
<meter> HTML <meter>元素用来显示已知范围的标量值或者分数值。
<optgroup> 在一个web表单中, HTML元素 <optgroup> 会创建包含在一个 <select> 元素中的一组选项
<option> In a Web form, the HTML <option> element is used to create a control representing an item within a <select>, an <optgroup> or a <datalist> HTML5 element.
<output> HTML 标签定义一个用户的操作或者计算的结果。
<progress> HTML中的progress (<progress>) 元素用来显示一项任务的完成进度.虽然规范中没有规定该元素具体如何显示,浏览器开发商可以自己决定,但通常情况下,该元素都显示为一个进度条形式.
<select> HTML select (<select>) 元素是一种表单控件,可创建选项菜单。菜单内的选项为<option> , 可以由 <optgroup> 元素分组。选项可以被用户预先选择。
<textarea> HTML <textarea> 元素表示一个多行纯文本编辑控件。

交互元素

HTML 提供了一系列有助于创建交互式用户界面对象的元素。

元素 描述
<details> <details> 标签用于描述文档或文档某个部分的细节。
<dialog> HTML <dialog> 元素表示一个对话框或其他交互式组件,例如一个检查员或窗口。
<menu> HTML <menu> 元素 呈现了一组用户可执行或激活的命令。这既包含了可能出现在屏幕顶端的列表菜单,也包含了那些隐藏在按钮之下、当点击按钮后显示出来的文本菜单。
<menuitem>
<summary> <summary> 元素包含 details 元素的标题,<details>元素用于描述有关文档或文档片段的更多详情。

Web 组件

Web 组件是种近似 HTML(HTML-related) 的技术,这使得它能够,从本质上讲,创建和使用自定义元素,就好像它是普通的 HTML。此外,你甚至可以创建自定义版本的标准 HTML 元素。

注意: Web组件的元素都在 World Wide Web Consortium (W3C) Web Components collection of specifications 定义而不是 HTML 规范。此外,Web 组件规范还没有最后确定,随时有可能发生更改。

元素 描述
<content>
<element> <element>元素被定义在最新的 HTML DOM 元素中。</element>
<shadow>
<slot>
<template> HTML 模板元素 <template> 是一种机制,允许包含加载页面时不渲染、但又可以随后通过 JavaScript 实例化的客户端内容。可以将模板视作为存储在页面上稍后使用的一小段内容。尽管不会渲染,但解析器会在加载页面的时候处理 <template> 元素中的内容来确保它是有效的。

过时的和弃用的元素

警告: 下面这些旧的 HTML 元素已被弃用,不应该再使用。你千万别在新的项目中使用它们,并且要尽快替换在旧项目里的。在此列出仅供参考。

元素 描述
<acronym> HTML 元素 Acronym  (<acronym>) 允许作者明确地声明一个字符序列组成了一个单词的缩写.
<applet> HTML中的Applet元素(<applet>) 标志着包含了Java的applet。
<basefont> HTML标签<basefont></basefont>用来设置文档的默认字体大小。使用<font>可以相对于默认字体大小进行变化。
<big> The HTML Big Element (<big>) 会使字体加大一号(例如从小号(small)到中号(medium),从大号(large)到加大(x-large)),最大不超过浏览器的最大字体。
<blink> HTML Blink Element (<blink>)不是标准元素,它会使包含其中的文本闪烁。
<center>
<command> command元素用来表示一个用户可以调用的命令.
<content>
<dir>
<element> <element>元素被定义在最新的 HTML DOM 元素中。</element>
<font>
<frame>
<frameset> <frameset> 是一个HTML元素,用于包含 <frame>元素。
<isindex> <isindex>元素的作用是使浏览器显示一个对话框,提示用户输入单行文本。在W3C的规范中建议,<isindex>元素最好被放置在 <head> 标签块内,但是对于浏览器来说,<isindex>标签在页面任何位置都没有关系。
<keygen> HTML <keygen> 元素是为了方便生成密钥材料和提交作为 HTML form 的一部分的公钥.这种机制被用于设计基于 Web 的证书管理系统。按照预想,<keygen> 元素将用于 HTML 表单与其他的所需信息一起构造一个证书请求,该处理的结果将是一个带有签名的证书。
<listing>
<marquee> HTML marquee 元素(<marquee>) 用来插入一段滚动的文字。你可以使用它的属性控制当文本到达容器边缘发生的事情。
<multicol> HTML<multicol> 元素是一个实验元素,旨在允许多列布局。它从来没有任何显着的牵引力,并没有在任何主流浏览器中实现。</multicol>
<nextid>
<noembed>
<plaintext>
<shadow>
<spacer>
<strike>
<tt> The HTML Teletype Text Element (<tt>) produces an inline element displayed in the browser's default monotype font. This element was intended to style text as it would display on a fixed width display, such as a teletype. It probably is more common to display fixed width type using the <code> element.
<xmp> <xmp>标签之间的内容不会被当作文档内容解析,而会被用等宽字体直接呈现。HTML2规范建议,本标签中的内容应该具有足够容纳每行80个字母的宽度。</td> </tr> </tbody> </table></p></xmp>

文档标签和贡献者

 最后编辑者: hoyt,