W3C HTML5标准阅读笔记 - cite、q、dfn、abbr

标准原文:https://www.w3.org/TR/html5/text-level-semantics.html#the-cite-element

HTML5中,cite和q标签用于标记对作品和文句的引用,而dfn和abbr标签则用于标记名词定义及缩写。

cite

cite标签用来表示对别的“创意性”作品的引用。所谓“创意性”作品,一般即指书籍、文章、评论等。cite中必须包含作品的名称或者作者,而一般不包含作品的具体内容。

在Chrome浏览器中,cite显示为斜体效果。

q

与cite标签不同,q标签用于表示具体引用的文句内容(quote)。在语义上,q标签与blockquote标签相似,都是表示具体引用的内容;因此和blockquote标签一样,除了通用属性,q标签也拥有一个名为cite的特有属性,用于表示所引用内容的出处链接。同样,该cite属性的主要目的并不是给页面浏览者增加浏览体验,而是增加语义从而给文档处理者(搜索引擎、后端处理脚本等)增加便利。

与blockquote不同的是,q元素属于内联元素 (blockquote元素为块级元素),在显示时浏览器会将q元素里的内容和q元素的上下文显示在同一行。因此,推测两者在语义上的区别为:q表示独立性不强的小段引用,而blockquote则表示独立性较强的大段引用。

在具体的显示效果上,对于blockquote,浏览器会在其四周添加外边距,从而凸显其独立性;而对于q标签,浏览器会在其内容的左右两边添加引号 -- 这一行为是由标准所规定的,因此在使用q标签时,q标签前后以及q标签内部不能再出现引号。

一个比较有趣的现象是:q标签是可以自我嵌套使用的。也即可以引用一段语句,而在这段语句内部又出现别的引用文字。默认情况下,q标签左右所添加的是双引号,而对于嵌套在别的q标签内部的q标签来说,无论嵌套有几层,在其左右添加的都是单引号。

在实际操作中,q标签经常与cite标签搭配使用,由q标签标记具体引用的内容,而由cite标签标记所引用的作品名称或者作者。

dfn

dfn标签用于定义专有名词,一般放置在p标签中使用,其内部不允许再包含别的dfn标签。对于所定义的专有名词,标准规定层级结构上距dfn最近的p/dl/section中必须存在该名词的详细解释。

与别的标签不同,dfn标签的title属性具有特殊的含义,用于表示所定义名词的简略解释;如果dfn标签内有且只有一个abbr标签,则该abbr标签的title属性也能起到同样的效果。比如:

<p>The <dfn><abbr title="Garage Door Opener">GDO</abbr></dfn>  
is a device that allows off-world teams to open the iris.</p>  

与别的标签一样,对于dfn标签上的title属性值,浏览器会用鼠标悬停小气泡的方式来进行显示。

在Chrome浏览器中,dfn标签呈现斜体效果。

abbr

abbr标签用于标记缩略语,其title属性则表示该缩略语相应的全称。标准规定,在HTML文档中所有的abbr标签都是独立的,也即如果文档中存在两个文本内容一致的abbr标签(标记的缩略语相同),则一个abbr标签的title属性值不会对另一个abbr标签产生任何影响 -- 这一点很好理解,因为在现实生活中,同样的缩略语可以表达多个不同的意思。

Chuan Shao

Read more posts by this author.

Shanghai

Subscribe to Chuan's blog

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!