当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 描述性列表UL和DL的表现形式

CSS样式表
人们期待的CSS3的10大功能
网页设计过程中推荐的命名规范
漂亮样式表在XHTML+CSS网页制作中的应用
10个非常有用但是IE浏览器不能使用的CSS属性
CSS教程:div仿框架方法
CSS实例:CSS制作的像素图
点击网页超级链接虚线怎么去除?
CSS网页布局的一些常见规则
CSS教程:overflow与text-indent:-9999px
CSS样式表在网页设计中的4个特性
haslayout是什么意思
CSS教程:让IE6支持position:fixed
用css实现表格外观的无序列表
替换和不可替换元素以及显示元素
CSS属性选择器制作个性化链接样式
Webjx推荐15个好的CSS网格布局生成器
html教程:pre标记里内容自动换行
CSS技巧教程:css书写技巧
css教程:DIV布局网页的常见错误
IE中img多出5px的空白解决4种方法

CSS样式表 中的 描述性列表UL和DL的表现形式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 187 ::
收藏到网摘: n/a


之前就见过很多网站在侧边栏上使用<dl />标签对来完成侧边栏栏目的布局,最近在研究DEDECMS的默认模板时,也发现该模板在大量的地方使用<dl></dl>标签对来完成页面的布局,比如模板首页的栏目循环以及侧边栏的栏目都是用<dl></dl>标签对来实现的。而在研究全球使用数最多的博客程序Wordpress时,发现它的侧边栏却是使用的是最常见的<ul></ul>列表来实现的。
同样的布局<dl />与<ul />都可以实现,并且就最终的表现来看并不存在区别,那么这两者之间到底有什么区别呢?或者说使用哪一个来完成布局才更为合理呢?
<ul />与<ol />是最常见两种列表表现形式,这两种列表最本质上的区别就是<ul />指的是无序列表而<ol />指的是有序列表。最常见的两种不同表现是:平常所见的新闻标题列表基本上都是由<ul />来完成布局的,而很多网站的侧边栏上会有一些新闻点击数排行榜之类的列表,这个时候就需要使用到有序列表<ol />,因为可以很容易的通过<ol />标注出排行顺序来。

回过头来我们看Wordpress侧边栏的结构代码:

<div id=”sidebar”>
<ul>
<li><h2>栏目标题一</h2>
<ul>
<li>新闻标题一</li>

<li>新闻标题N</li>
</ul>
</li>

<li><h2>栏目标题N</h2>
<ul>
<li>新闻标题一</li>

<li>新闻标题N</li>
</ul>
</li>
</ul>
</div>

很显然,这是一个<ul />嵌套<ul/>的结构,通过<h2 />去显示栏目标题(补充一点:对于博客来说,就页面中的内容重要程度而言,这里并不适合使用<h2 />标签来显示栏目标题,<h2 />标签应该是用在日志标题上的)。
很多使用<dl />来布局的网站的结构代码如下:

<div id=”sidebar”>
<dl>
<dt>栏目标题一</dt>
<dd>
<ul>
<li>新闻标题一</li>

<li>新闻标题N</li>
</ul>
</dd>

<dt>栏目标题N</dt>
<dd>
<ul>
<li>新闻标题一</li>

<li>新闻标题N</li>
</ul>
</dd>
</dl>
</div>

这是一个复杂表现上的定义列表,与上一个结构代码的最大的区别是使用<dt />来替代<h2 />标签。简单意义上的定义列表结构如下:

<div id=”sidebar”>
<dl>
<dt>标题一</dt>
<dd>内容一</dd>

<dd>内容N</dd>

<dt>标题N</dt>
<dd>内容一</dd>

<dd>内容N</dd>
</dl>
</div>

这种结构的代码也可以表现出列表的形式,但事实上这种结构并不太适合做为一个列表来使用,这种简单的<dl />更适合做为不同内容段的描述。比如:

<dl>
<dt>我的照片</dt>
<dd>作者:摄氏度</dd>
<dd>相机:佳能400D</dd>
<dt>我的博客</dt>
<dd>作者:摄氏度</dd>
<dd>程序:wordpress</dd>
</dl>

于是我们可以理解为:<dl />标签结构更多的是表现一种描述性的列表,它本身并不具备做为列表显示的意义。当<dl />与<ul />或是<ol />标签结构组合起来使用时,才能更好的表现出描述列表的作用。
之前的那个被指为不符合标签语义的试验《使用UL进行宽度固定的多行多列布局》,现在换成<dl />标签来做是否就适合标签语义化了呢?