日期:2014-03-05 浏览次数:21173 次
之前就见过很多网站在侧边栏上使用<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 />标签来做能否就适合标签语义化了呢?