当段落标签p
应该使用在段落的时候还有许多滥用换行标签br
的情况,p
用于表现段落是公认的。基于同样的逻辑,很多标签应该被用来定义确定的文本元素,比如引用,缩写和计算机代码等。
应该记住的是,尽管大部分浏览器用不同的方式处理这些标签,最重要的是记住,不是为了让元素看起来像什么,而是它赋予的含义是什么。
缩写标签abbr
和首字母组合词标签acronym
分别用于缩写词语和首字母组合而成的缩写词。
缩写是一个惯用词组的缩短形式。很平常。然而,首字母缩写词则是组成词组的每个单词之首个字母(或者单词的部分)的组合缩写。所以css是一个正确的首字母缩写词,但HTML和XHTML却不是(如果Hypertxet markup language是一个首字母缩写词,它应该是HML,同理,XHTML就是EHML了)。
为了优化易用性,缩写和首字母缩写词都应该使用标题属性title
。
<p>This web site is about
<abbr title="HyperText Markup Language">HTML</abbr> and
<acronym title="Cascading Style Sheets">css</acronym>.</p>
有一些不可思议的理由,Internet Explorer,最常用的浏览器,竟然不支持abbr
标签。十分幸运,一个叫Marek Prokop的小伙子为此开发了clever Javascript workaround。
有很多关于缩写和首字母缩写词元素的讨论,Lars Holst提供了可能是最具体的深入理解。
blockquote
,q
和cite
用在引用上。blockquote
是块状的,用于大面积的引用语上,而q
则是内联的,用于更小的词组。cite
也是内联的,比起q
来其本身的语义更可取,很可能在将来取代q
。
又,标题属性title
用于表明引用从何而来。
注意:q
一般不改变内附文本的外观──你需要用css如果你需要为它指定一个样式。
<p>So I asked Bob about quotations and he said <cite>
I know as much about quotations as I do about pigeon fancying</cite>.
Luckily, I found HTML Dog and it said...</p><blockquote title="From HTML Dog, http://www.htmldog.com/">
<p>blockquote,
q and cite are used for quotations. blockquote is block-line and used for
large or citations, whereas q is in-line and used for smaller phrases.
cite is also in-line and preferable to q for its semantic nature
and possible future deprecation of q.</p></blockquote>
有少部分的标签,code
和var
用于计算机程序代码,pre
和samp
则,在实践中,也主要是用于代码。
code
用于计算机程序代码。
var
用于指明代码里的变量。
<code><var>ronankeatingisbland</var> = true;</code>
samp
与代码类似,但被认为是用于程序的代码输出样例。
pre
是预格式化文本,在HTML标签中不常用,以防止大量空格的产生。它常用于代码块。
<pre>
<div id="intro">
<h1>Some heading</h1>
<p>
Some paragraph paragraph thing thing thingy.</p></div>
</pre>
dfn
是定义术语,用于高亮显示一个第一次使用的术语。像abbr
和acronym
,标题属性title
可以用来描述术语。
<p>Bob's <dfn title="Dog">canine</dfn> mother and <dfn title="Horse">
equine</dfn> father sat him down and carefully explained that he was an
<dfn title="A mutation that combines two or more sets
of chromosomes from different
species">
allopolyploid</dfn> organism.</p>
address
应该用于地址。
<address>
HMTL Dog House<br />
HTML Street<br />
Dogsville<br />
HT16 3ML
</address>
有一些没有什么价值的标签,有很少的机会被使用只是因为十分特定的场合。
bdo
可以用来反转文本的方向,可以用来显示从右向左读的文本。必需的属性dir
的值可以是ltr
(左向右)和rtl
(右向左)。
<bdo dir="rtl">god lmth</bdo>
kbd
用于表明应由用户键入的文本。
<p>Now type <kbd>woo hoo</kbd></p>
ins
和del
分别用于显示编辑插入和删除的文本。它可以有时间属性datetime
(用YYYYMMDD的格式)和cite
属性(用于说明为什么插入或者删除理由的一个URL)。
ins
元素一般显示下划线,而del
元素则一般显示删除线。
<p>This is some <del datetime="20030522">nonsense</del>
<ins cite="http://www.htmldog.com">
very informative stuff</ins> that I've written.</p>
b
、i
、tt
、sub
、sup
、big
和small
都是表现元素,因此,由于它们的精确性,不应该再使用当我们一再强调分离内容和表现。比如b
定义粗体元素,没有任何意义──这些标签定义纯粹的可视化特征,应该是css的事。尽管他们是合法的标签,还有其他的(比如strong
和em
,是词组元素)可以实际地添加含义。如果你仅仅需要复制这些标签的样式,不需要任何相关的含义,你可以在span
标签上应用css。