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

CSS样式表
网页制作实例:em实现倒三角的提示效果
CSS实例教程:Border属性制作小三角
网页制作教程:css让页面居中对齐
CSS实例教程:IE6奇数宽度或高度的bug
CSS实例教程:分号引起页面混乱
ie6和ie7下链接图片点不中问题讨论
XHTML+CSS教程:灵活运用HTML标记
12个对网页设计师非常有用的图片优化工具
如何对CSS Expression进行优化
合理利用HTML标记优化网页布局
纯语义化XHTML+CSS设计表单方法
CSS3.0参考手册下载(Webjx推荐)
CSS代码解决网页挂马问题
CSS网页布局时常犯的10个小错误
全面兼容ie6,ie7,ie8,ff的最简单的css写法
CSS网页布局开发时的常见问题小结
ie6和ie7中的链接图片点不中问题讨论
CSS 分号引起页面混乱
网页制作 css让页面居中对齐
CSS first-letter伪类元素的特点

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 214 ::
收藏到网摘: 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 />标签来做是否就适合标签语义化了呢?