网页开发人员常常希望能够了解并掌握多种语言,结果是,学习一门语言的所有内容是棘手的,但是却很容易发现你并没有完全利用那些比较特殊却很有用的标签。
不幸的是我们到现在还没有涉足的那些比较不知名的HTML标记所有潜力。但它永远不会太晚重新进入领域,并开始编写代码来发掘这些未开发的标签的能量。
这里是10个未被充分利用或被误解的HTML标签。或许它们不太广为人知,但是在特定情况下他们却非常有用。
1. <cite>
貌似每个人都比较熟悉<blockquote> 标签,但是你可知道<blockquote>的小弟弟<cite>?<cite> 允许你定义元素内的文字作为一种参考。一般,浏览器会用斜体来显示<cite> 标签内的文字,但是这可以用一点CSS来改变。
<cite> 标签对于引用目录或其它网站的参考非常有用。这里是一个在段落中使用cite标签的例子:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
2. <optgroup>
<optgroup>标签是定义select标签中的选项分组的一种很好的方法。比如,你需要按时间来分组电影列表,那么就可以这样做:
<label for="showtimes">上映时间</label>
<select id="showtimes" name="showtimes"> <optgroup label="下午一点"><option value="titanic">泰坦尼克号</option> <option value="nd">贫民窟的百万富翁</option> <option value="wab">怪物史瑞克</option> </optgroup> <optgroup label="下午两点"> <option value="bkrw">狮子王</option> <option value="stf">全民超人</option></optgroup></select>
示例:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
3. <acronym>
<acronym> 是一种定义或更多解释一组文字的方法。当你用鼠标放到使用<acronym>标签的文字时,一个显示title标签的内容的框框将会出现在下边。比如:
微博客网站<acronym title="Founded in 2006"> Twitter</acronym> 最近常常宕机。
示例:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
4. <address>
<address> 标签是一个非常不起眼的小标签,但是这并不意味着它没有用。顾名思义<address> 允许你在HTML中语义化标签。这个小巧的标签将默认斜体显示标签内的内容,当然,使用样式可以很容易的改变默认的样式。
<address>Glen Stansberry
1234 Web Dev Lane
Anywhere, USA
</address>
5. <ins> 和<del>
如果你想使用标签来显示编辑版本,<ins> 和<del> 正好适合。顾名思义,<ins> 用下划线高亮显示添加进来的内容,而<del> 用删除线显示被移除的信息。
John <del>likes</del> <ins>LOVES</ins> his new iPod.
示例:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
6. <label>
貌似表单元素最容易忘掉何时标记文本。对于表单元素,最常忘记的就是<label> 标签。不仅仅是一个便捷的标记文本的方式,<label> 标签还能传递一个”for” 属性来指定哪个元素将会被关联。<label> 不仅易于用样式来控制,还允许你让标题可点击。
<label for="username">用户名</label>
<input id="username" type="text" />
7. <fieldset>
Fieldset是一个小巧的标签,你可以用来为你的表单元素添加逻辑分组。<fieldset>标签就会在其内部的元素周围画一个框。另外一点就是可以在fieldset里面添加<legend> 标签来定义分组的标题。
<form><fieldset>
<legend>你比5年纪学生聪明吗?</legend>
当然<input name="yes" type="radio" value="yes" />
不知道<input name="no" type="radio" value="no" />
</fieldset>
</form>
示例:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
8. <abbr>
<abbr> 标签颇类似于<acronym> 标签,不同的是<abbr> 标签只用于定义缩写单词。就像<acronym>一样,你可以为这个标签定义一个title属性。当用户将鼠标放到缩写文字上面时,全部内容就会在下面显示。<abbr> 标签很少用,但是对于屏幕阅读者、拼写检查者以及搜索引擎是非常有用的。
<abbr title="脑残">NC</abbr> 是一个不太文明的用语。
示例:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
9. rel
Rel 可以是一个极度有用的 属性,任何HTML元素都可以应用一个rel属性。它有助于传递没有另外指定的额外参数。这对于在HTML中使用JavaScript的时候是非常有用的。如果你有一个想要在行内编辑的链接,你可以添加:
<a rel="clickable" href="page.html">这个链接可编辑。</a>
Javascript 会寻找带有rel属性”clickable”的a链接,并应用一些Ajax并允许它在行内被编辑。这只是你可以使用rel属性的众多技术中的一种用法,因为它的潜力是无止境的。感兴趣的朋友可以深入研究一下W3C关于Rel的介绍。
10. <wbr>
<wbr>标签是一个难以相信的不出名的标签。坦率的讲,我也很怀疑你们会接触到这个标签, 因为它几乎从来没有用到。(的确,在我写这篇文章之前我几乎没有见到过这个标签)。事实上,这个标签算是一个软断行,允许你在某一行内指定一个断行点,表明在该点处可以断行,但是不是一定会断行,仅仅是在有需要断行的时候才会断行。如果你想避免出现水平滚动条,那么使用这个标签是很棒的。
示例:
下面是一个200像素宽的box,没有定义overflow。
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
如果你想要实现相同的效果而不使用<wbr> 标签,你可以试一下​或­。据说这三个标签都未被所有浏览器完全支持。你可以通过 这篇文章 来查看各个浏览器对着三个标签的支持情况。
PS:
颇困难的翻译了这篇文章,神飞深深的感受到了语义化的魅力以及HTML标签的强大,相信我们没有认识到的标签还有很多,结果,常见的标签大家都很熟悉,不常见的标签大家有都不会用。正如之前我在一篇文章中阐述的那样,“语义化”很大的一部分是,在恰当的地方使用合适的标签,而不是一味的div下去。如果,我们能够了解更多的HTML标签,我们就能写出更具语义的HTML代码,也能大大的降低我们写CSS的难度和工作量,并使我们的页面结构更趋合理。