Web 开发人员版 — 最后更新于 2024 年 9 月 12 日
a
元素em
元素strong
元素small
元素s
元素cite
元素q
元素dfn
元素abbr
元素ruby
元素rt
元素rp
元素data
元素time
元素code
元素var
元素samp
元素kbd
元素sub
和 sup
元素i
元素b
元素u
元素mark
元素bdi
元素bdo
元素span
元素br
元素wbr
元素a
元素所有当前引擎都支持。
href
属性:交互式内容。a
元素后代或指定了 tabindex
属性的后代。href
— 超链接的地址target
— 可导航的,用于 超链接 导航download
— 是否下载资源而不是导航到它,以及如果是,则为其文件名ping
— 要 ping 的 URLrel
— 包含 超链接 的文档位置与目标资源之间的关系hreflang
— 链接资源的语言type
— 引用的资源类型的提示referrerpolicy
— 由元素发起的 获取 的 引用者策略href
属性:供作者使用;供实现者使用。HTMLAnchorElement
。如果 a
元素具有 href
属性,则它 表示 一个由其内容标记的 超链接(超文本锚点)。
如果 a
元素没有 href
属性,则该元素 表示 一个占位符,如果相关,则在该占位符处可能放置链接,仅由元素的内容组成。
target
、download
、ping
、rel
、hreflang
、type
和 referrerpolicy
属性必须省略,如果 href
属性不存在。
如果在 a
元素上指定了 itemprop
属性,则还必须指定 href
属性。
如果某个站点在每个页面上都使用一致的导航工具栏,则通常链接到该页面的链接可以使用 a
元素进行标记
< nav >
< ul >
< li > < a href = "/" > Home</ a > </ li >
< li > < a href = "/news" > News</ a > </ li >
< li > < a > Examples</ a > </ li >
< li > < a href = "/legal" > Legal</ a > </ li >
</ ul >
</ nav >
a.text
与 textContent
相同。
a
元素可以包装在整个段落、列表、表格等周围,甚至整个部分,只要内部没有交互式内容(例如,按钮或其他链接)。此示例显示了如何将其用于将整个广告块变成链接
< aside class = "advertising" >
< h1 > Advertising</ h1 >
< a href = "https://ad.example.com/?adid=1929&pubid=1422" >
< section >
< h1 > Mellblomatic 9000!</ h1 >
< p > Turn all your widgets into mellbloms!</ p >
< p > Only $9.99 plus shipping and handling.</ p >
</ section >
</ a >
< a href = "https://ad.example.com/?adid=375&pubid=1422" >
< section >
< h1 > The Mellblom Browser</ h1 >
< p > Web browsing at the speed of light.</ p >
< p > No other browser goes faster!</ p >
</ section >
</ a >
</ aside >
以下示例显示了如何使用一些脚本有效地将职位列表表格中的整行变成超链接
< table >
< tr >
< th > Position
< th > Team
< th > Location
< tr >
< td >< a href = "/jobs/manager" > Manager</ a >
< td > Remotees
< td > Remote
< tr >
< td >< a href = "/jobs/director" > Director</ a >
< td > Remotees
< td > Remote
< tr >
< td >< a href = "/jobs/astronaut" > Astronaut</ a >
< td > Architecture
< td > Remote
</ table >
< script >
document. querySelector( "table" ). onclick = ({ target }) => {
if ( target. parentElement. localName === "tr" ) {
const link = target. parentElement. querySelector( "a" );
if ( link) {
link. click();
}
}
}
</ script >
em
元素所有当前引擎都支持。
HTMLElement
。特定内容的强调级别由其祖先 em
元素的数量决定。
强调的放置会改变句子的含义。因此,该元素构成内容的组成部分。这种强调的精确方式取决于语言。
这些示例显示了如何通过改变强调来改变含义。首先,一个一般的陈述,没有强调
< p > Cats are cute animals.</ p >
通过强调第一个词,该陈述暗示正在讨论的动物种类有疑问(也许有人断言狗很可爱)
< p >< em > Cats</ em > are cute animals.</ p >
将强调转移到动词上,则突出显示整个句子的真实性有疑问(也许有人说猫不可爱)
< p > Cats < em > are</ em > cute animals.</ p >
通过将其移动到形容词上,可以重申猫的确切性质(也许有人建议猫是卑鄙的动物)
< p > Cats are < em > cute</ em > animals.</ p >
同样,如果有人断言猫是蔬菜,那么纠正这一点的人可能会强调最后一个词
< p > Cats are cute < em > animals</ em > .</ p >
通过强调整个句子,很明显说话者正在努力地表达观点。这种强调通常也会影响标点符号,因此这里有感叹号。
< p >< em > Cats are cute animals!</ em ></ p >
愤怒与强调可爱相结合可能会导致如下标记
< p >< em > Cats are < em > cute</ em > animals!</ em ></ p >
strong
元素所有当前引擎都支持。
HTMLElement
。重要性:strong
元素可用于标题、图注或段落中,以区分真正重要的部分与其他可能更详细、更轻松或仅仅是样板的部分。(这与标记子标题不同,子标题应使用 hgroup
元素。)
例如,上一段落的第一词使用 strong
进行标记,以将其与该段落其余部分中更详细的文本区分开来。
严肃性:strong
元素可用于标记警告或注意事项。
紧迫性:strong
元素可用于表示用户需要比文档其他部分更早查看的内容。
内容片段的相对重要性由其祖先 strong
元素的数量决定;每个 strong
元素都会提高其内容的重要性。
使用 strong
元素更改文本片段的重要性不会改变句子的含义。
这里,“章节”一词和实际的章节编号仅仅是样板,而章节的实际名称则使用 strong
进行标记。
< h1 > Chapter 1: < strong > The Praxis</ strong ></ h1 >
在下面的示例中,图注中图表名称使用 strong
进行标记,以将其与样板文本(之前)和描述(之后)区分开来。
< figcaption > Figure 1. < strong > Ant colony dynamics</ strong > . The ants in this colony are
affected by the heat source (upper left) and the food source (lower right).</ figcaption >
在这个示例中,标题实际上是“花、蜜蜂和蜂蜜”,但作者在标题中添加了一个轻松的补充。因此,strong
元素用于标记第一部分,以将其与后一部分区分开来。
< h1 >< strong > Flowers, Bees, and Honey</ strong > and other things I don't understand</ h1 >
这是一个游戏中警告通知的示例,其各个部分根据重要性进行标记。
< p >< strong > Warning.</ strong > This dungeon is dangerous.
< strong > Avoid the ducks.</ strong > Take any gold you find.
< strong >< strong > Do not take any of the diamonds</ strong > ,
they are explosive and < strong > will destroy anything within
ten meters.</ strong ></ strong > You have been warned.</ p >
在这个示例中,strong
元素用于表示用户预期首先阅读的文本部分。
< p > Welcome to Remy, the reminder system.</ p >
< p > Your tasks for today:</ p >
< ul >
< li >< p >< strong > Turn off the oven.</ strong ></ p ></ li >
< li >< p > Put out the trash.</ p ></ li >
< li >< p > Do the laundry.</ p ></ li >
</ ul >
small
元素所有当前引擎都支持。
HTMLElement
。小字号印刷通常包含免责声明、警告、法律限制或版权信息。小字号印刷有时也用于署名或满足许可证要求。
small
元素不会“弱化”或降低 em
元素强调的文本或 strong
元素标记为重要的文本的重要性。要将文本标记为未强调或不重要,只需不要分别使用 em
或 strong
元素进行标记即可。
small
元素不应用于扩展的文本跨度,例如多个段落、列表或文本部分。它仅适用于短文本片段。例如,列出使用条款的页面文本不适合使用 small
元素:在这种情况下,文本不是旁注,而是页面的主要内容。
small
元素不得用于子标题;为此目的,请使用 hgroup
元素。
在这个示例中,small
元素用于指示酒店房间价格中不包含增值税。
< dl >
< dt > Single room
< dd > 199 € < small > breakfast included, VAT not included</ small >
< dt > Double room
< dd > 239 € < small > breakfast included, VAT not included</ small >
</ dl >
在这个第二个示例中,small
元素用于文章中的旁注。
< p > Example Corp today announced record profits for the
second quarter < small > (Full Disclosure: Foo News is a subsidiary of
Example Corp)</ small > , leading to speculation about a third quarter
merger with Demo Group.</ p >
这与侧边栏不同,侧边栏可能有多个段落长,并且与文本的主流程分离。在下面的示例中,我们看到了同一篇文章中的一个侧边栏。此侧边栏也包含小字号印刷,指示侧边栏中信息来源。
< aside >
< h1 > Example Corp</ h1 >
< p > This company mostly creates small software and Web
sites.</ p >
< p > The Example Corp company mission is "To provide entertainment
and news on a sample basis".</ p >
< p >< small > Information obtained from < a
href = "https://example.com/about.html" > example.com</ a > home
page.</ small ></ p >
</ aside >
在这个最后一个示例中,small
元素被标记为重要的小字号印刷。
< p >< strong >< small > Continued use of this service will result in a kiss.</ small ></ strong ></ p >
s
元素所有当前引擎都支持。
HTMLElement
。当指示文档编辑时,s
元素不适用;要将文本片段标记为已从文档中删除,请使用 del
元素。
在这个示例中,建议零售价被标记为不再相关,因为相关产品有新的促销价。
< p > Buy our Iced Tea and Lemonade!</ p >
< p >< s > Recommended retail price: $3.99 per bottle</ s ></ p >
< p >< strong > Now selling for just $2.99 a bottle!</ strong ></ p >
cite
元素所有当前引擎都支持。
HTMLElement
。cite
元素 表示 作品的标题(例如,书籍、论文、文章、诗歌、乐谱、歌曲、剧本、电影、电视剧、游戏、雕塑、绘画、戏剧作品、戏剧、歌剧、音乐剧、展览、法律案例报告、计算机程序等)。这可以是被引用或 详细参考 的作品(即引用),也可以只是顺便提到的作品。
一个人的姓名不是作品的标题——即使人们称那个人为“作品”——因此不得使用该元素来标记人名。(在某些情况下,b
元素可能适合人名;例如,在八卦文章中,名人姓名是使用不同样式呈现的关键词,以吸引人们的注意。在其他情况下,如果确实需要元素,则可以使用 span
元素。)
下一个示例展示了 cite
元素的典型用法。
< p > My favorite book is < cite > The Reality Dysfunction</ cite > by
Peter F. Hamilton. My favorite comic is < cite > Pearls Before
Swine</ cite > by Stephan Pastis. My favorite track is < cite > Jive
Samba</ cite > by the Cannonball Adderley Sextet.</ p >
这是正确的用法。
< p > According to the Wikipedia article < cite > HTML</ cite > , as it
stood in mid-February 2008, leaving attribute values unquoted is
unsafe. This is obviously an over-simplification.</ p >
但是,以下是错误的用法,因为这里的 cite
元素包含的内容远远超出了作品的标题。
<!-- do not copy this example, it is an example of bad usage! -->
< p > According to < cite > the Wikipedia article on HTML</ cite > , as it
stood in mid-February 2008, leaving attribute values unquoted is
unsafe. This is obviously an over-simplification.</ p >
cite
元素是参考文献中任何引用的关键部分,但它仅用于标记标题。
< p >< cite > Universal Declaration of Human Rights</ cite > , United Nations,
December 1948. Adopted by General Assembly resolution 217 A (III).</ p >
引用不是引述(引述应使用 q
元素)。
这是错误的用法,因为 cite
不用于引述。
< p >< cite > This is wrong!</ cite > , said Ian.</ p >
这也是错误的用法,因为一个人不是作品。
< p >< q > This is still wrong!</ q > , said < cite > Ian</ cite > .</ p >
正确的用法不使用 cite
元素。
< p >< q > This is correct</ q > , said Ian.</ p >
如上所述,b
元素可能与在某些类型的文档中将姓名标记为关键词相关。
< p > And then < b > Ian</ b > said < q > this might be right, in a
gossip column, maybe!</ q > .</ p >
q
元素所有当前引擎都支持。
cite
— 链接到引文的来源或有关编辑的更多信息。HTMLQuoteElement
。引用该元素内容的引号(如引号)不得出现在 q
元素的前面、后面或内部;它们将由用户代理插入渲染中。
q
元素内部的内容必须从其他来源引用,如果该来源有地址,则可以在 cite
属性中引用。来源可能是虚构的,例如在引用小说或剧本中的角色时。
如果 cite
属性存在,则它必须是 可能被空格包围的有效 URL。用户代理可能允许用户访问此类引用链接,但它们主要用于私用(例如,服务器端脚本收集有关网站使用引用的统计信息),而不是供读者使用。
q
元素不得用于代替不表示引用的引号;例如,将 q
元素用于标记讽刺语句是不合适的。
使用 q
元素标记引号完全是可选的;在没有 q
元素的情况下使用显式引号也是正确的。
这是一个使用 q
元素的简单示例。
< p > The man said < q > Things that are impossible just take
longer</ q > . I disagreed with him.</ p >
这是一个既在 q
元素中包含显式引用链接又在外部包含显式引用的示例。
< p > The W3C page < cite > About W3C</ cite > says the W3C's
mission is < q cite = "https://www.w3.org/Consortium/" > To lead the
World Wide Web to its full potential by developing protocols and
guidelines that ensure long-term growth for the Web</ q > . I
disagree with this mission.</ p >
在下面的示例中,引文本身包含一个引文。
< p > In < cite > Example One</ cite > , he writes < q > The man
said < q > Things that are impossible just take longer</ q > . I
disagreed with him</ q > . Well, I disagree even more!</ p >
在下面的示例中,使用了引号而不是 q
元素。
< p > His best argument was ❝I disagree❞, which
I thought was laughable.</ p >
在下面的示例中,没有引文——引号用于命名一个词。在这种情况下使用 q
元素是不合适的。
< p > The word "ineffable" could have been used to describe the disaster
resulting from the campaign's mismanagement.</ p >
dfn
元素所有当前引擎都支持。
dfn
元素后代。title
属性在此元素上具有特殊语义:缩写的完整术语或扩展HTMLElement
。dfn
元素表示术语的定义实例。段落、描述列表组或节,它是dfn
元素的最近祖先,也必须包含dfn
元素给出的术语的定义。
定义术语:如果dfn
元素具有title
属性,则该属性的精确值为正在定义的术语。否则,如果它恰好包含一个元素子节点并且没有子文本
节点,并且该子元素是具有title
属性的abbr
元素,则该属性的精确值为正在定义的术语。否则,它是dfn
元素的后代文本内容,它给出了正在定义的术语。
如果title
属性dfn
元素存在,则它必须仅包含正在定义的术语。
在以下片段中,术语“车库门开启器”首先在第一段中定义,然后在第二段中使用。在这两种情况下,实际显示的是它的缩写。
< p > The < dfn >< abbr title = "Garage Door Opener" > GDO</ abbr ></ dfn >
is a device that allows off-world teams to open the iris.</ p >
<!-- ... later in the document: -->
< p > Teal'c activated his < abbr title = "Garage Door Opener" > GDO</ abbr >
and so Hammond ordered the iris to be opened.</ p >
< p > The < dfn id = gdo >< abbr title = "Garage Door Opener" > GDO</ abbr ></ dfn >
is a device that allows off-world teams to open the iris.</ p >
<!-- ... later in the document: -->
< p > Teal'c activated his < a href = #gdo > < abbr title = "Garage Door Opener" > GDO</ abbr > </ a >
and so Hammond ordered the iris to be opened.</ p >
abbr
元素所有当前引擎都支持。
title
属性在此元素上具有特殊语义:缩写的完整术语或扩展HTMLElement
。abbr
元素表示缩写或首字母缩写词,可以选择性地包含其扩展。可以使用title
属性提供缩写的扩展。如果指定了该属性,则必须包含缩写的扩展,仅此而已。
下面的段落包含一个使用abbr
元素标记的缩写。本段定义了术语“万维网超文本应用技术工作组”。
< p > The < dfn id = whatwg >< abbr
title = "Web Hypertext Application Technology Working Group" > WHATWG</ abbr ></ dfn >
is a loose unofficial collaboration of web browser manufacturers and
interested parties who wish to develop new technologies designed to
allow authors to write and deploy Applications over the World Wide
Web.</ p >
另一种写法是
< p > The < dfn id = whatwg > Web Hypertext Application Technology
Working Group</ dfn > (< abbr
title = "Web Hypertext Application Technology Working Group" > WHATWG</ abbr > )
is a loose unofficial collaboration of web browser manufacturers and
interested parties who wish to develop new technologies designed to
allow authors to write and deploy Applications over the World Wide
Web.</ p >
本段有两个缩写。请注意,只有一个被定义;另一个没有关联的扩展,不使用abbr
元素。
< p > The
< abbr title = "Web Hypertext Application Technology Working Group" > WHATWG</ abbr >
started working on HTML5 in 2004.</ p >
本段将缩写链接到其定义。
< p > The < a href = "#whatwg" >< abbr
title = "Web Hypertext Application Technology Working Group" > WHATWG</ abbr ></ a >
community does not have much representation from Asia.</ p >
本段标记了一个缩写,但没有给出扩展,可能作为应用缩写样式的钩子(例如,小型大写字母)。
< p > Philip` and Dashiva both denied that they were going to
get the issue counts from past revisions of the specification to
backfill the < abbr > WHATWG</ abbr > issue graph.</ p >
如果缩写被复数化,则扩展的语法数(复数与单数)必须与元素内容的语法数匹配。
这里复数在元素之外,所以扩展为单数
< p > Two < abbr title = "Working Group" > WG</ abbr > s worked on
this specification: the < abbr > WHATWG</ abbr > and the
< abbr > HTMLWG</ abbr > .</ p >
这里复数在元素内部,所以扩展为复数
< p > Two < abbr title = "Working Groups" > WGs</ abbr > worked on
this specification: the < abbr > WHATWG</ abbr > and the
< abbr > HTMLWG</ abbr > .</ p >
缩写不必使用此元素进行标记。预计在以下情况下有用
title
属性的abbr
元素是包含内联扩展(例如,在括号内)的替代方法。title
属性的abbr
元素标记缩写,或在首次使用缩写时将其扩展内联到文本中。abbr
元素,而无需title
属性。在title
属性中提供一次扩展不一定导致同一文档中具有相同内容但没有title
属性的其他abbr
元素的行为如同它们具有相同的扩展。每个abbr
元素都是独立的。
ruby
元素所有当前引擎都支持。
HTMLElement
。ruby
元素允许用ruby注释标记一个或多个短语内容的跨度。Ruby注释是与基本文本一起显示的短文本片段,主要用于东亚排版作为发音指南或包含其他注释。在日语中,这种排版形式也称为furigana。
ruby
元素的内容模型由以下一个或多个序列组成
以下两者之一
以下两者之一
ruby
和rt
元素可用于各种注释,尤其包括(但绝不限于)下面描述的那些。有关日语Ruby的更多详细信息,以及如何渲染日语Ruby,请参阅日语文本布局要求。[JLREQ]
在撰写本文时,CSS 还没有提供一种完全控制 HTML ruby
元素渲染的方法。希望 CSS 将在适当的时候扩展以支持下面描述的样式。
一个或多个平假名或片假名字符(ruby注释)与每个表意字符(基本文本)一起放置。这用于提供汉字的读音。
< ruby > B< rt > annotation</ ruby >
这与前面一种情况类似:复合词中的每个表意字符(基本文本)都用平假名或片假名字符(ruby注释)给出其读音。不同之处在于基本文本段构成一个复合词,而不是彼此分离。
< ruby > B< rt > annotation</ rt > B< rt > annotation</ ruby >
在此示例中,请再次注意每个注释如何对应于单个基本字符。在此示例中,每个复合词(熟语)对应于一个ruby
元素。
这里的渲染预期是每个注释都放置在相应的基本字符上方(或旁边,在垂直文本中),并且注释不超出任何相邻字符。
< ruby > 鬼< rt > き</ rt > 門< rt > もん</ rt ></ ruby > の< ruby > 方< rt > ほう</ rt > 角< rt > がく</ rt ></ ruby > を< ruby > 凝< rt > ぎょう</ rt > 視< rt > し</ rt ></ ruby > する
鬼門の方角を凝視する
这在语义上与前一种情况相同(基本复合词中的每个表意字符都用平假名或片假名字符的注释给出其读音),但渲染更复杂,为熟语ruby渲染。
这与上面复合词的单音节ruby示例相同。不同的渲染预计将使用不同的样式(例如,在 CSS 中)实现,此处未显示。
< ruby > 鬼< rt > き</ rt > 門< rt > もん</ rt ></ ruby > の< ruby > 方< rt > ほう</ rt > 角< rt > がく</ rt ></ ruby > を< ruby > 凝< rt > ぎょう</ rt > 視< rt > し</ rt ></ ruby > する
注释描述基本文本的含义,而不是(或除了)发音。因此,基本文本和注释都可以是多个字符长。
< ruby > BASE< rt > annotation</ ruby >
这里一个复合表意词用其对应的片假名作为注释。
< ruby > 境界面< rt > インターフェース</ ruby >
界面
这里,一个复合表意词的英文翻译作为注释提供。
< ruby lang = "ja" > 編集者< rt lang = "en" > editor</ ruby >
编辑者
一个对应于多个基本字符的发音,因为一对一的映射比较困难。(在英语中,“上校”和“中尉”是发音与单个字母的直接映射在某些方言中比较模糊的单词示例。)
在这个例子中,一种花的名称使用群组注音提供了发音。
< ruby > 紫陽花< rt > あじさい</ ruby >
紫陽花
有时,上面描述的注音样式会组合使用。
如果这导致两个注释覆盖同一个基本段落,那么这些注释可以简单地放置在一起。
< ruby > BASE< rt > annotation 1< rt > annotation 2</ ruby >
< ruby > B< rt > a< rt > a</ ruby >< ruby > A< rt > a< rt > a</ ruby >< ruby > S< rt > a< rt > a</ ruby >< ruby > E< rt > a< rt > a</ ruby >
在这个人为的例子中,一些符号用英文和法文命名。
< ruby >
♥ < rt > Heart < rt lang = fr > Cœur </ rt >
☘ < rt > Shamrock < rt lang = fr > Trèfle </ rt >
✶ < rt > Star < rt lang = fr > Étoile </ rt >
</ ruby >
在以下示例等更复杂的情况下,嵌套的ruby
元素用于提供内部注释,然后整个ruby
在“外部”级别再提供一个注释。
< ruby >< ruby > B< rt > a</ rt > A< rt > n</ rt > S< rt > t</ rt > E< rt > n</ rt ></ ruby >< rt > annotation</ ruby >
这里在注音注释中都给出了发音和含义。嵌套的ruby
元素上的注释为每个基本字符提供了一个单注音发音注释,而作为外部ruby
元素子元素的rt
元素中的注释使用平假名给出了含义。
< ruby >< ruby > 東< rt > とう</ rt > 南< rt > なん</ rt ></ ruby >< rt > たつみ</ rt ></ ruby > の方角
東南の方角
这是同一个例子,但含义用英语而不是日语给出。
< ruby >< ruby > 東< rt > とう</ rt > 南< rt > なん</ rt ></ ruby >< rt lang = en > Southeast</ rt ></ ruby > の方角
東南の方角
在没有ruby
元素祖先的ruby
元素中,内容会被分割,并且段落会被分为三类:基本文本段落、注释段落和忽略段落。忽略段落不构成文档的语义(它们由一些元素间空白和rp
元素组成,后者用于根本不支持注音的旧版用户代理)。基本文本段落可以重叠(DOM中任何一个位置最多有两个段落重叠,并且任何段落的起始点都早于重叠段落的起始点,也具有相同或更晚的结束点,并且任何段落的结束点都晚于重叠段落的结束点,也具有相同或更早的起始点)。注释段落对应于rt
元素。每个注释段落可以与一个基本文本段落关联,每个基本文本段落可以有多个注释段落与之关联。(在符合标准的文档中,每个基本文本段落都与至少一个注释段落关联,每个注释段落都与一个基本文本段落关联。)ruby
元素表示它包含的基本文本段落的并集,以及从这些基本文本段落到注释段落的映射。
在这个例子中,日语文本漢字中的每个汉字都用平假名注释了其发音。
...
< ruby > 漢< rt > かん</ rt > 字< rt > じ</ rt ></ ruby >
...
这可能呈现为
在这个例子中,繁体中文文本漢字中的每个汉字都用注音符号注释了其发音。
< ruby > 漢< rt > ㄏㄢˋ</ rt > 字< rt > ㄗˋ</ rt ></ ruby >
这可能呈现为
在这个例子中,简体中文文本汉字中的每个汉字都用拼音注释了其发音。
...< ruby > 汉< rt > hàn</ rt > 字< rt > zì</ rt ></ ruby > ...
这可能呈现为
在这个更人为的例子中,“HTML”的首字母缩略词有四个注释:一个用于整个首字母缩略词,简要描述了它是什么,一个用于字母“HT”,将其扩展为“超文本”,一个用于字母“M”,将其扩展为“标记”,一个用于字母“L”,将其扩展为“语言”。
< ruby >
< ruby > HT< rt > Hypertext</ rt > M< rt > Markup</ rt > L< rt > Language</ rt ></ ruby >
< rt > An abstract language for describing documents and applications
</ ruby >
rt
元素所有当前引擎都支持。
ruby
元素的子元素。rt
元素的结束标签可以省略,如果rt
元素紧跟在rt
或rp
元素之后,或者父元素中没有更多内容。HTMLElement
。rt
元素标记注音注释的注音文本组件。当它是ruby
元素的子元素时,它本身不表示任何内容,但ruby
元素使用它作为确定它表示什么的依据。
rp
元素所有当前引擎都支持。
ruby
元素的子元素,位于rt
元素之前或之后。rp
元素的结束标签可以省略,如果rp
元素紧跟在rt
或rp
元素之后,或者父元素中没有更多内容。HTMLElement
。rp
元素可用于在注音注释的注音文本组件周围提供括号或其他内容,供不支持注音注释的用户代理显示。
上面的例子,其中文本漢字中的每个汉字都用其发音注释,可以扩展为使用rp
,以便在旧版用户代理中,发音用括号括起来。
...
< ruby > 漢< rp > (</ rp >< rt > かん</ rt >< rp > )</ rp > 字< rp > (</ rp >< rt > じ</ rt >< rp > )</ rp ></ ruby >
...
在符合标准的用户代理中,渲染方式与上面相同,但在不支持注音的用户代理中,渲染方式将为
... 漢(かん)字(じ)...
当某个段落有多个注释时,rp
元素也可以放在注释之间。以下是前面一个人为示例的另一个副本,显示了一些用英文和法文命名的符号,但这次也使用了rp
元素。
< ruby >
♥< rp > : </ rp >< rt > Heart</ rt >< rp > , </ rp >< rt lang = fr > Cœur</ rt >< rp > .</ rp >
☘< rp > : </ rp >< rt > Shamrock</ rt >< rp > , </ rp >< rt lang = fr > Trèfle</ rt >< rp > .</ rp >
✶< rp > : </ rp >< rt > Star</ rt >< rp > , </ rp >< rt lang = fr > Étoile</ rt >< rp > .</ rp >
</ ruby >
这将使示例在不具备注音功能的用户代理中按如下方式呈现。
♥: Heart, Cœur. ☘: Shamrock, Trèfle. ✶: Star, Étoile.
data
元素所有当前引擎都支持。
value
— 机器可读的值HTMLDataElement
。data
元素表示其内容,以及value
属性中这些内容的机器可读形式。
value
属性必须存在。其值必须是元素内容以机器可读格式表示的形式。
当值与日期或时间相关时,可以使用更具体的time
元素代替。
该元素可以用于多种用途。
与微格式或本规范中定义的微数据属性结合使用时,该元素用于为数据处理器的目的提供机器可读的值,以及为在网络浏览器中呈现的目的提供人类可读的值。在这种情况下,在value
属性中使用的格式由正在使用的微格式或微数据词汇表确定。
但是,该元素也可以与页面中的脚本结合使用,用于脚本需要在人类可读值旁边存储字面值的情况。在这种情况下,使用的格式仅取决于脚本的需求。(data-*
属性在这种情况下也很有用。)
这里,一个简短的表格使用data
元素对其数值进行了编码,以便表格排序JavaScript库可以为每一列提供排序机制,尽管数字在一个列中以文本形式呈现,在另一个列中以分解形式呈现。
< script src = "sortable.js" ></ script >
< table class = "sortable" >
< thead > < tr > < th > Game < th > Corporations < th > Map Size
< tbody >
< tr > < td > 1830 < td > < data value = "8" > Eight</ data > < td > < data value = "93" > 19+74 hexes (93 total)</ data >
< tr > < td > 1856 < td > < data value = "11" > Eleven</ data > < td > < data value = "99" > 12+87 hexes (99 total)</ data >
< tr > < td > 1870 < td > < data value = "10" > Ten</ data > < td > < data value = "149" > 4+145 hexes (149 total)</ data >
</ table >
time
元素所有当前引擎都支持。
datetime
属性:短语内容。datetime
— 机器可读的值HTMLTimeElement
。time
元素表示其内容,以及datetime
属性中这些内容的机器可读形式。内容的种类仅限于各种日期、时间、时区偏移量和持续时间,如下所述。
datetime
属性可以存在。如果存在,其值必须是元素内容以机器可读格式表示的形式。
一个没有 datetime
内容属性的 time
元素不得有任何元素后代。
time
元素的datetime 值 是该元素的 datetime
内容属性的值(如果存在),否则为 time
元素的子文本内容。
time
元素的datetime 值 必须匹配以下语法之一。
< time > 2011-11</ time >
< time > 2011-11-18</ time >
< time > 11-18</ time >
< time > 14:54</ time >
< time > 14:54:39</ time >
< time > 14:54:39.929</ time >
< time > 2011-11-18T14:54</ time >
< time > 2011-11-18T14:54:39</ time >
< time > 2011-11-18T14:54:39.929</ time >
< time > 2011-11-18 14:54</ time >
< time > 2011-11-18 14:54:39</ time >
< time > 2011-11-18 14:54:39.929</ time >
带有日期但没有时区偏移量的时钟对于指定在每个时区全天都在同一特定时间观察到的事件很有用。例如,2020 年新年在每个时区都在 2020-01-01 00:00 庆祝,而不是在所有时区都同时庆祝。对于在所有时区都同时发生的事件(例如视频会议),有效的全局日期和时间字符串 可能更有用。
< time > Z</ time >
< time > +0000</ time >
< time > +00:00</ time >
< time > -0800</ time >
< time > -08:00</ time >
对于没有日期的时钟(或指代在多个日期重复发生的事件的时钟),指定控制时间的地理位置通常比指定时区偏移量更有用,因为地理位置会随着夏令时更改时区偏移量。在某些情况下,地理位置甚至会更改时区,例如当这些时区的边界重新划定时,就像萨摩亚在 2011 年底发生的那样。存在一个描述时区边界以及每个时区内适用哪些规则的时区数据库,称为时区数据库。[TZDATABASE]
< time > 2011-11-18T14:54Z</ time >
< time > 2011-11-18T14:54:39Z</ time >
< time > 2011-11-18T14:54:39.929Z</ time >
< time > 2011-11-18T14:54+0000</ time >
< time > 2011-11-18T14:54:39+0000</ time >
< time > 2011-11-18T14:54:39.929+0000</ time >
< time > 2011-11-18T14:54+00:00</ time >
< time > 2011-11-18T14:54:39+00:00</ time >
< time > 2011-11-18T14:54:39.929+00:00</ time >
< time > 2011-11-18T06:54-0800</ time >
< time > 2011-11-18T06:54:39-0800</ time >
< time > 2011-11-18T06:54:39.929-0800</ time >
< time > 2011-11-18T06:54-08:00</ time >
< time > 2011-11-18T06:54:39-08:00</ time >
< time > 2011-11-18T06:54:39.929-08:00</ time >
< time > 2011-11-18 14:54Z</ time >
< time > 2011-11-18 14:54:39Z</ time >
< time > 2011-11-18 14:54:39.929Z</ time >
< time > 2011-11-18 14:54+0000</ time >
< time > 2011-11-18 14:54:39+0000</ time >
< time > 2011-11-18 14:54:39.929+0000</ time >
< time > 2011-11-18 14:54+00:00</ time >
< time > 2011-11-18 14:54:39+00:00</ time >
< time > 2011-11-18 14:54:39.929+00:00</ time >
< time > 2011-11-18 06:54-0800</ time >
< time > 2011-11-18 06:54:39-0800</ time >
< time > 2011-11-18 06:54:39.929-0800</ time >
< time > 2011-11-18 06:54-08:00</ time >
< time > 2011-11-18 06:54:39-08:00</ time >
< time > 2011-11-18 06:54:39.929-08:00</ time >
带有日期和时区偏移量的时钟对于指定特定事件或重复发生的虚拟事件很有用,这些事件的时间没有锚定到特定地理位置。例如,小行星撞击的精确时间,或者在一系列每天 UTC 1400 举行的会议中举行的一次特定会议,无论世界上任何特定部分是否正在观察夏令时。对于事件发生时间根据特定地理位置的本地时区偏移量而变化的情况,有效的本地日期和时间字符串 与该地理位置结合使用可能更有用。
< time > 2011-W47</ time >
< time > 2011</ time >
< time > 0001</ time >
< time > PT4H18M3S</ time >
< time > 4h 18m 3s</ time >
time
元素可用于编码日期,例如在微格式中。以下显示了一种使用 time
元素的 hCalendar 变体编码事件的假设方法。
< div class = "vevent" >
< a class = "url" href = "http://www.web2con.com/" > http://www.web2con.com/</ a >
< span class = "summary" > Web 2.0 Conference</ span > :
< time class = "dtstart" datetime = "2005-10-05" > October 5</ time > -
< time class = "dtend" datetime = "2005-10-07" > 7</ time > ,
at the < span class = "location" > Argent Hotel, San Francisco, CA</ span >
</ div >
这里,基于 Atom 词汇表的虚构微数据词汇表与 time
元素一起用于标记博客文章的发布日期。
< article itemscope itemtype = "https://n.example.org/rfc4287" >
< h1 itemprop = "title" > Big tasks</ h1 >
< footer > Published < time itemprop = "published" datetime = "2009-08-29" > two days ago</ time > .</ footer >
< p itemprop = "content" > Today, I went out and bought a bike for my kid.</ p >
</ article >
在此示例中,另一篇文章的发布日期使用 time
进行了标记,这次使用了 schema.org 微数据词汇表。
< article itemscope itemtype = "http://schema.org/BlogPosting" >
< h1 itemprop = "headline" > Small tasks</ h1 >
< footer > Published < time itemprop = "datePublished" datetime = "2009-08-30" > yesterday</ time > .</ footer >
< p itemprop = "articleBody" > I put a bike bell on her bike.</ p >
</ article >
在以下代码段中,time
元素用于以 ISO8601 格式编码日期,以便稍后由脚本处理。
< p > Our first date was < time datetime = "2006-09-23" > a Saturday</ time > .</ p >
在此第二个代码段中,值包含一个时间。
< p > We stopped talking at < time datetime = "2006-09-24T05:00-07:00" > 5am the next morning</ time > .</ p >
页面加载的脚本(因此可以访问页面使用 time
元素标记日期和时间的内部约定)可以扫描页面并查看其中的所有 time
元素以创建日期和时间的索引。
例如,此元素传达字符串“星期五”,并带有额外的语义,即 2011 年 11 月 18 日是对应于“星期五”的含义。
Today is < time datetime = "2011-11-18" > Friday</ time > .
在此示例中,指定了太平洋标准时间时区中的特定时间。
Your next meeting is at < time datetime = "2011-11-18T15:00-08:00" > 3pm</ time > .
code
元素所有当前引擎都支持。
HTMLElement
。code
元素表示一段计算机代码片段。这可以是 XML 元素名称、文件名、计算机程序或计算机可以识别的任何其他字符串。
没有正式的方法来指示正在标记的计算机代码的语言。希望用所用语言标记code
元素的作者(例如,以便语法突出显示脚本可以使用正确的规则)可以使用class
属性,例如通过向元素添加以“language-
”为前缀的类。
以下示例显示了如何在段落中使用该元素来标记元素名称和计算机代码,包括标点符号。
< p > The < code > code</ code > element represents a fragment of computer
code.</ p >
< p > When you call the < code > activate()</ code > method on the
< code > robotSnowman</ code > object, the eyes glow.</ p >
< p > The example below uses the < code > begin</ code > keyword to indicate
the start of a statement block. It is paired with an < code > end</ code >
keyword, which is followed by the < code > .</ code > punctuation character
(full stop) to indicate the end of the program.</ p >
< pre >< code class = "language-pascal" > var i: Integer;
begin
i := 1;
end.</ code ></ pre >
在该示例中,使用类指示使用的语言。
有关更多详细信息,请参阅pre
元素。
var
元素所有当前引擎都支持。
HTMLElement
。var
元素表示变量。这可以是数学表达式或编程上下文中实际的变量、表示常量的标识符、识别物理量的符号、函数参数,或者只是用作散文占位符的术语。
在下文段落中,字母“n”用作散文中的变量。
< p > If there are < var > n</ var > pipes leading to the ice
cream factory then I expect at < em > least</ em > < var > n</ var >
flavors of ice cream to be available for purchase!</ p >
对于数学,特别是对于最简单的表达式之外的任何内容,MathML 更合适。但是,var
元素仍然可以用来引用特定变量,然后在 MathML 表达式中提及这些变量。
在此示例中,显示了一个方程式,以及一个引用方程式中变量的图例。表达式本身使用 MathML 进行了标记,但图例中使用var
提及了变量。
< figure >
< math >
< mi > a</ mi >
< mo > =</ mo >
< msqrt >
< msup >< mi > b</ mi >< mn > 2</ mn ></ msup >
< mi > +</ mi >
< msup >< mi > c</ mi >< mn > 2</ mn ></ msup >
</ msqrt >
</ math >
< figcaption >
Using Pythagoras' theorem to solve for the hypotenuse < var > a</ var > of
a triangle with sides < var > b</ var > and < var > c</ var >
</ figcaption >
</ figure >
这里,描述质能等价关系的方程式用在句子中,var
元素用于标记该方程式中的变量和常数。
< p > Then she turned to the blackboard and picked up the chalk. After a few moment's
thought, she wrote < var > E</ var > = < var > m</ var > < var > c</ var >< sup > 2</ sup > . The teacher
looked pleased.</ p >
samp
元素所有当前引擎都支持。
HTMLElement
。samp
元素表示来自另一个程序或计算系统的示例或引用的输出。
此元素可以与output
元素形成对比,后者可用于在 Web 应用程序中提供即时输出。
此示例显示了samp
元素的内联使用。
< p > The computer said < samp > Too much cheese in tray
two</ samp > but I didn't know what that meant.</ p >
此第二个示例显示了控制台程序的示例输出块。嵌套的samp
和kbd
元素允许使用样式表对示例输出的特定元素进行样式设置。samp
中也有一些部分用更详细的标记进行了注释,以实现非常精确的样式设置。为此,使用了span
元素。
< pre >< samp >< span class = "prompt" > jdoe@mowmow:~$</ span > < kbd > ssh demo.example.com</ kbd >
Last login: Tue Apr 12 09:10:17 2005 from mowmow.example.com on pts/1
Linux demo 2.6.10-grsec+gg3+e+fhs6b+nfs+gr0501+++p3+c4a+gr2b-reslog-v6.189 #1 SMP Tue Feb 1 11:22:36 PST 2005 i686 unknown
< span class = "prompt" > jdoe@demo:~$</ span > < span class = "cursor" > _</ span ></ samp ></ pre >
此第三个示例显示了一个输入块及其相应的输出。该示例同时使用了code
和samp
元素。
< pre >
< code class = "language-javascript" > console.log(2.3 + 2.4)</ code >
< samp > 4.699999999999999</ samp >
</ pre >
kbd
元素所有当前引擎都支持。
HTMLElement
。kbd
元素表示用户输入(通常是键盘输入,但也可以用于表示其他输入,例如语音命令)。
当kbd
元素嵌套在samp
元素内部时,它表示系统回显的输入。
当kbd
元素包含samp
元素时,它表示基于系统输出的输入,例如调用菜单项。
当kbd
元素嵌套在另一个kbd
元素内部时,它表示实际按键或其他单个输入单元,这取决于输入机制。
这里kbd
元素用于指示要按下的键。
< p > To make George eat an apple, press < kbd >< kbd > Shift</ kbd > + < kbd > F3</ kbd ></ kbd ></ p >
在此第二个示例中,用户被告知选择特定的菜单项。外部kbd
元素标记输入块,内部kbd
元素表示输入的每个步骤,而内部的samp
元素表示这些步骤是基于系统显示的内容(在本例中为菜单标签)的输入。
< p > To make George eat an apple, select
< kbd >< kbd >< samp > File</ samp ></ kbd > |< kbd >< samp > Eat Apple...</ samp ></ kbd ></ kbd >
</ p >
这种精度不是必需的;以下内容也同样不错。
< p > To make George eat an apple, select < kbd > File | Eat Apple...</ kbd ></ p >
sub
和 sup
元素所有当前引擎都支持。
所有当前引擎都支持。
sub
元素:供作者使用;供实施者使用。sup
元素:供作者使用;供实施者使用。HTMLElement
。
<sup>
元素表示上标,<sub>
元素表示下标。
这些元素必须仅用于标记具有特定含义的排版约定,而不是为了排版而进行排版。例如,在 LaTeX 文档准备系统的名称中使用 <sub>
和 <sup>
元素是不合适的。一般来说,作者应仅在缺少这些元素会改变内容含义的情况下使用这些元素。
在某些语言中,上标是某些缩写的排版约定的一部分。
< p > Their names are
< span lang = "fr" >< abbr > M< sup > lle</ sup ></ abbr > Gwendoline</ span > and
< span lang = "fr" >< abbr > M< sup > me</ sup ></ abbr > Denise</ span > .</ p >
<sub>
元素可以用于 <var>
元素内部,用于具有下标的变量。
这里,<sub>
元素用于表示标识变量族中变量的下标。
< p > The coordinate of the < var > i</ var > th point is
(< var > x< sub >< var > i</ var ></ sub ></ var > , < var > y< sub >< var > i</ var ></ sub ></ var > ).
For example, the 10th point has coordinate
(< var > x< sub > 10</ sub ></ var > , < var > y< sub > 10</ sub ></ var > ).</ p >
数学表达式经常使用下标和上标。鼓励作者使用 MathML 来标记数学内容,但如果不需要详细的数学标记,作者可以选择使用 <sub>
和 <sup>
。[MathML]
< var > E</ var > =< var > m</ var >< var > c</ var >< sup > 2</ sup >
f(< var > x</ var > , < var > n</ var > ) = log< sub > 4</ sub >< var > x</ var >< sup >< var > n</ var ></ sup >
<i>
元素所有当前引擎都支持。
HTMLElement
。<i>
元素表示一段文本以不同的声音或语气,或者以其他方式与普通散文区分开来,从而表明不同的文本质量,例如分类学名称、术语、来自其他语言的习语短语、音译、想法或西方文本中的船名。
不同于正文语言的术语应使用 <lang>
属性进行注释(或者,在 XML 中,使用 XML 命名空间中的 <lang>
属性)。
下面的示例展示了 <i>
元素的用法。
< p > The < i class = "taxonomy" > Felis silvestris catus</ i > is cute.</ p >
< p > The term < i > prose content</ i > is defined above.</ p >
< p > There is a certain < i lang = "fr" > je ne sais quoi</ i > in the air.</ p >
在下面的示例中,梦境序列使用 <i>
元素进行标记。
< p > Raymond tried to sleep.</ p >
< p >< i > The ship sailed away on Thursday</ i > , he
dreamt. < i > The ship had many people aboard, including a beautiful
princess called Carey. He watched her, day-in, day-out, hoping she
would notice him, but she never did.</ i ></ p >
< p >< i > Finally one night he picked up the courage to speak with
her—</ i ></ p >
< p > Raymond woke with a start as the fire alarm rang out.</ p >
作者可以在 <i>
元素上使用 class
属性来标识使用该元素的原因,这样,如果以后需要更改特定用法的样式(例如,梦境序列与分类术语相对),作者就不必遍历整个文档(或一系列相关文档)来注释每个用法。
鼓励作者考虑其他元素是否可能比 <i>
元素更适用,例如,<em>
元素用于标记强调语气,或者 <dfn>
元素用于标记术语的定义实例。
样式表可以用来格式化 <i>
元素,就像任何其他元素都可以重新设置样式一样。因此,<i>
元素中的内容不一定会以斜体显示。
<b>
元素所有当前引擎都支持。
HTMLElement
。<b>
元素表示一段文本,出于实用目的而引起注意,但不传达任何额外的重要性,也不暗示不同的声音或语气,例如文档摘要中的关键词、评论中的产品名称、交互式文本驱动软件中的可操作词或文章导语。
以下示例展示了使用 <b>
元素突出显示关键词而不将其标记为重要的用法。
< p > The < b > frobonitor</ b > and < b > barbinator</ b > components are fried.</ p >
在下面的示例中,文本冒险游戏中的对象通过使用 <b>
元素突出显示为特殊对象。
< p > You enter a small room. Your < b > sword</ b > glows
brighter. A < b > rat</ b > scurries past the corner wall.</ p >
另一个适合使用 <b>
元素的情况是标记导语(或导语)句子或段落。以下示例展示了如何标记一篇关于小猫收养兔子为己有的 BBC 文章。
< article >
< h2 > Kittens 'adopted' by pet rabbit</ h2 >
< p >< b class = "lede" > Six abandoned kittens have found an
unexpected new mother figure — a pet rabbit.</ b ></ p >
< p > Veterinary nurse Melanie Humble took the three-week-old
kittens to her Aberdeen home.</ p >
[...]
与 <i>
元素一样,作者可以在 <b>
元素上使用 class
属性来标识使用该元素的原因,这样,如果以后需要更改特定用法的样式,作者就不必遍历整个文档来注释每个用法。
当没有其他更合适的元素时,应将 <b>
元素作为最后手段使用。特别是,标题应使用 <h1>
到 <h6>
元素,强调语气应使用 <em>
元素,重要性应使用 <strong>
元素表示,标记或突出显示的文本应使用 <mark>
元素。
以下用法不正确
< p >< b > WARNING!</ b > Do not frob the barbinator!</ p >
在前面的示例中,应使用的正确元素是 <strong>
,而不是 <b>
。
样式表可以用来格式化 <b>
元素,就像任何其他元素都可以重新设置样式一样。因此,<b>
元素中的内容不一定会以粗体显示。
<u>
元素所有当前引擎都支持。
HTMLElement
。<u>
元素表示一段文本,带有未明确说明但明确呈现的非文本注释,例如将文本标记为中文文本中的专有名词(中文专有名词标记),或将文本标记为拼写错误。
在大多数情况下,其他元素可能更合适:对于标记强调语气,应使用 <em>
元素;对于标记关键词或短语,应根据上下文使用 <b>
元素或 <mark>
元素;对于标记书籍标题,应使用 <cite>
元素;对于使用显式文本注释标记文本,应使用 <ruby>
元素;对于术语、分类学名称、音译、想法或标记西方文本中的船名,应使用 <i>
元素。
<u>
元素在视觉呈现中的默认渲染与超链接的常规渲染(下划线)冲突。鼓励作者避免在可能将其与超链接混淆的地方使用 <u>
元素。
在此示例中,<u>
元素用于将单词标记为拼写错误。
< p > The < u > see</ u > is full of fish.</ p >
<mark>
元素所有当前引擎都支持。
HTMLElement
。<mark>
元素表示一个文档中的一段文本,由于其在另一个上下文中的相关性而被标记或突出显示以供参考。当用于引用或其他从散文引用的文本块中时,它表示一个最初不存在但后来添加的突出显示,以将读者的注意力吸引到文本的一部分,这部分在原始作者最初编写该块时可能不被认为很重要,但现在却受到了之前意想不到的审查。当用于文档的主要散文中时,它表示文档的一部分已被突出显示,因为它可能与用户的当前活动相关。
此示例展示了如何使用 <mark>
元素将注意力吸引到引文中的特定部分。
< p lang = "en-US" > Consider the following quote:</ p >
< blockquote lang = "en-GB" >
< p > Look around and you will find, no-one's really
< mark > colour</ mark > blind.</ p >
</ blockquote >
< p lang = "en-US" > As we can tell from the < em > spelling</ em > of the word,
the person writing this quote is clearly not American.</ p >
(但是,如果目标是将元素标记为拼写错误,则可能带有类的 <u>
元素会更合适。)
<mark>
元素的另一个示例是突出显示与某个搜索字符串匹配的文档部分。如果有人查看了一个文档,并且服务器知道用户正在搜索“小猫”这个词,那么服务器可能会返回一个修改后的文档,其中一段如下所示。
< p > I also have some < mark > kitten</ mark > s who are visiting me
these days. They're really cute. I think they like my garden! Maybe I
should adopt a < mark > kitten</ mark > .</ p >
在以下代码片段中,一段文本引用了代码片段的特定部分。
< p > The highlighted part below is where the error lies:</ p >
< pre >< code > var i: Integer;
begin
i := < mark > 1.1</ mark > ;
end.</ code ></ pre >
这与语法高亮不同,语法高亮更适合使用 <span>
。将两者结合起来,就可以得到。
< p > The highlighted part below is where the error lies:</ p >
< pre >< code >< span class = keyword > var</ span > < span class = ident > i</ span > : < span class = type > Integer</ span > ;
< span class = keyword > begin</ span >
< span class = ident > i</ span > := < span class = literal >< mark > 1.1</ mark ></ span > ;
< span class = keyword > end</ span > .</ code ></ pre >
这是另一个示例,展示了使用 <mark>
突出显示最初未强调的引用文本的一部分。在此示例中,常见的排版约定导致作者明确地设置了引号中 <mark>
元素的样式以斜体显示。
< style >
blockquote mark , q mark {
font : inherit ; font-style : italic ;
text-decoration : none ;
background : transparent ; color : inherit ;
}
. bubble em {
font : inherit ; font-size : larger ;
text-decoration : underline ;
}
</ style >
< article >
< h1 > She knew</ h1 >
< p > Did you notice the subtle joke in the joke on panel 4?</ p >
< blockquote >
< p class = "bubble" > I didn't < em > want</ em > to believe. < mark > Of course
on some level I realized it was a known-plaintext attack.</ mark > But I
couldn't admit it until I saw for myself.</ p >
</ blockquote >
< p > (Emphasis mine.) I thought that was great. It's so pedantic, yet it
explains everything neatly.</ p >
</ article >
顺便说一下,请注意此示例中 <em>
元素与 <mark>
元素之间的区别,<em>
元素是正在引用的原始文本的一部分,而 <mark>
元素则突出显示了一部分以供评论。
以下示例展示了表示文本片段的重要性(strong
)与表示文本片段的相关性(mark
)之间的区别。这是一个教科书摘录,其中与考试相关的部分已被突出显示。安全警告虽然很重要,但显然与考试无关。
< h3 > Wormhole Physics Introduction</ h3 >
< p >< mark > A wormhole in normal conditions can be held open for a
maximum of just under 39 minutes.</ mark > Conditions that can increase
the time include a powerful energy source coupled to one or both of
the gates connecting the wormhole, and a large gravity well (such as a
black hole).</ p >
< p >< mark > Momentum is preserved across the wormhole. Electromagnetic
radiation can travel in both directions through a wormhole,
but matter cannot.</ mark ></ p >
< p > When a wormhole is created, a vortex normally forms.
< strong > Warning: The vortex caused by the wormhole opening will
annihilate anything in its path.</ strong > Vortexes can be avoided when
using sufficiently advanced dialing technology.</ p >
< p >< mark > An obstruction in a gate will prevent it from accepting a
wormhole connection.</ mark ></ p >
bdi
元素所有当前引擎都支持。
dir
全局属性在此元素上具有特殊语义。HTMLElement
。bdi
元素表示一段文本,出于双向文本格式化的目的,需要将其与周围环境隔离开。 [BIDI]
dir
全局属性在此元素上默认为auto
(它不像其他元素那样从父元素继承)。
当嵌入方向性未知的用户生成内容时,此元素特别有用。
在此示例中,用户名与其提交的帖子数量一起显示。如果未使用bdi
元素,则阿拉伯用户的用户名最终会使文本产生混淆(双向算法会将冒号和数字“3”放在“User”一词旁边,而不是“posts”一词旁边)。
< ul >
< li > User < bdi > jcranmer</ bdi > : 12 posts.
< li > User < bdi > hober</ bdi > : 5 posts.
< li > User < bdi > إيان</ bdi > : 3 posts.
</ ul >
bdo
元素所有当前引擎都支持。
dir
全局属性在此元素上具有特殊语义。HTMLElement
。bdo
元素表示其子元素的显式文本方向格式控制。它允许作者通过显式指定方向覆盖来覆盖 Unicode 双向算法。 [BIDI]
作者必须在此元素上指定dir
属性,使用值ltr
指定从左到右的覆盖,使用值rtl
指定从右到左的覆盖。不得指定auto
值。
span
元素所有当前引擎都支持。
HTMLSpanElement
。span
元素本身没有任何意义,但与全局属性一起使用时很有用,例如class
、lang
或dir
。它表示其子元素。
在此示例中,代码片段使用span
元素和class
属性进行标记,以便其关键字和标识符可以从 CSS 中进行颜色编码。
< pre >< code class = "lang-c" >< span class = "keyword" > for</ span > (< span class = "ident" > j</ span > = 0; < span class = "ident" > j</ span > < 256; < span class = "ident" > j</ span > ++) {
< span class = "ident" > i_t3</ span > = (< span class = "ident" > i_t3</ span > & 0x1ffff) | (< span class = "ident" > j</ span > << 17);
< span class = "ident" > i_t6</ span > = (((((((< span class = "ident" > i_t3</ span > >> 3) ^ < span class = "ident" > i_t3</ span > ) >> 1) ^ < span class = "ident" > i_t3</ span > ) >> 8) ^ < span class = "ident" > i_t3</ span > ) >> 5) & 0xff;
< span class = "keyword" > if</ span > (< span class = "ident" > i_t6</ span > == < span class = "ident" > i_t1</ span > )
< span class = "keyword" > break</ span > ;
}</ code ></ pre >
br
元素所有当前引擎都支持。
HTMLBRElement
。虽然换行符通常在视觉媒体中通过将后续文本物理移动到新行来表示,但样式表或用户代理同样有理由以不同的方式呈现换行符,例如绿点或额外的间距。
br
元素必须仅用于内容中实际存在的换行符,例如诗歌或地址。
以下示例是br
元素的正确用法。
< p > P. Sherman< br >
42 Wallaby Way< br >
Sydney</ p >
br
元素不得用于分隔段落中的主题组。
以下示例不符合规范,因为它们滥用了br
元素。
< p >< a ...> 34 comments.</ a >< br >
< a ...> Add a comment.</ a ></ p >
< p >< label > Name: < input name = "name" ></ label >< br >
< label > Address: < input name = "address" ></ label ></ p >
以下是上述内容的替代方案,这些方案是正确的。
< p >< a ...> 34 comments.</ a ></ p >
< p >< a ...> Add a comment.</ a ></ p >
< p >< label > Name: < input name = "name" ></ label ></ p >
< p >< label > Address: < input name = "address" ></ label ></ p >
如果一个段落仅包含一个br
元素,则表示占位符空白行(例如,在模板中)。不得将此类空白行用于演示目的。
wbr
元素所有当前引擎都支持。
HTMLElement
。在以下示例中,有人引用某人说的话,为了效果,将其写成一个长词。但是,为了确保文本可以以可读的方式换行,引文中的各个单词使用wbr
元素分隔。
< p > So then she pointed at the tiger and screamed
"there< wbr > is< wbr > no< wbr > way< wbr > you< wbr > are< wbr > ever< wbr > going< wbr > to< wbr > catch< wbr > me"!</ p >
元素 | 用途 | 示例 |
---|---|---|
a
| 超链接 |
|
em
| 强调 |
|
strong
| 重要性 |
|
small
| 旁注 |
|
s
| 不准确的文本 |
|
cite
| 作品标题 |
|
q
| 引用 |
|
dfn
| 定义实例 |
|
abbr
| 缩写 |
|
ruby 、rt 、rp | 注音 |
|
data
| 机器可读等效项 |
|
time
| 日期或时间相关数据的机器可读等效项 |
|
code
| 计算机代码 |
|
var
| 变量 |
|
samp
| 计算机输出 |
|
kbd
| 用户输入 |
|
sub
| 下标 |
|
sup
| 上标 |
|
i
| 替代语音 |
|
b
| 关键字 |
|
u
| 注释 |
|
mark
| 高亮 |
|
bdi
| 文本方向隔离 |
|
bdo
| 文本方向格式化 |
|
span
| 其他 |
|
br
| 换行符 |
|
wbr
| 换行机会 |
|