当段落标签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。