W3C优质网页小贴士(四)(5)
作者:ZDYX 来源:zdyx.org 时间:2008-04-17 13:34:00
无序列表:你用过吗?
列表的观念
当网页中的内容属于某种列表时,你可以考虑使用无序列表(<ul>
)来展示这些内容。这不仅能改进HTML代码的可读性,还能为某些原本没有意义的内容赋予明确的意义。
未被广泛使用的现状
许多网站不喜欢使用无序列表来标记文档。在这些网站上,你常会看到许多由 <hr>
元素分隔的 <div>
标签,或由类似 |(竖线)或 •(•
)的符号分隔的一堆 <a>
标签。发生这种情况的最主要原因可能是 CSS样式表中 <ul>
元素的属性(padding,bullets 等)。许多网页作者发现对 <div>
之类熟悉的元素 应用 各种样式要比从 <ul>
中将这些样式 移除 更方便。再加上各种浏览器平台对 默认样式的不一致呈现 使得情况变得更复杂了。
幸运的是,目前绝大多数可视化浏览器已经支持 CSS 样式表,列表元素在这些浏览器中也统一了样式,这样一来就能避免传统的 <div>
或 <span>
标签的滥用了。延伸阅读 部分列出的一些站点解释了应如何操作。
使用无序列表的好处
没有样式表照样起作用
类似 <div>
和 <span>
的元素除了把内容分块外,在语义上毫无意义。它们所要表达的意义必须通过 CSS 样式表作用在网页浏览器上才能起作用。
而如果你将某些内容组织成列表,那么它就能直接从列表标记上表达其意义,而不需要 CSS 样式表的作用。某些只扫描网页内容(并忽略 CSS 样式表)的用户代理,如纯文本浏览器、文本转换为语音的浏览器,甚至一些 搜索引擎机器人 就能识别出那些用列表组织的内容,并通过列表方式将其呈现(或朗读)出来。
更好的易用性
将一系列链接(<a>
元素)直接放在一块儿会导致文本浏览器一起显示它们,这使得用户难以选择想要的链接。许多教程推荐在这样的链接中插入某些符号,作为防止混淆的临时解决办法。同样的问题发生在使用 <div></div> <div></div>
标签显示内容,使用 <hr>
标签或 CSS 的 border 元素作为内容分隔线时。而这种方法可能无法给人以多个内容块属于同一个相关系列的印象。
如果对上述情况中的内容使用无序列表,就可以让非可视化浏览器将这些内容以列表的方式呈现出来,而不是乱糟糟的一堆链接或排成一行不便于查看的元素。有意义的内容分组将自动出现,不再需要你添加分隔符号或使用 <hr>
元素。
这是一种好方法
列表的使用,能从语义上为意义相关的内容分组,即使你的 CSS 样式表被忽略也没有关系。在恰当的地方使用无序列表是构建一份好文档的聪明选择。