当前位置:园子博客 » Xhtml » 定义列表dl,dt,dd的用法

定义列表dl,dt,dd的用法

2月 25th, 2009 | Filed under Xhtml | 共有11,892次浏览

上篇文章给大家分享了无序列表和有序列表的用法,其实一般我们在做列表的时候通常只会用到ul和li标签,至于dl,dt,dd一般都很少用到,这三个标签就是属于定义列表类的标签,下面园子给大家说一下大概的用法。先来分解一下这个列表的代码:

1
2
3
4
<dl><!–Definition List (定义列表)–>
 <dt></dt><!–Definition Term (定义项)–>
 <dd></dd><!–Definition Description (定义描述)–>
</dl>

看上面这段代码我们发现这里并没有出现<li>标签,而是由DL、DT、DD三个标签组成,根据外型以及之前的列表我们可以知道,DL是这个列表的一个容器,就像个箱子,不同的是这次箱子里不只有统一标准的单个小盒子了。而是出现两个不同的内容我们怎么理解这个DT与DD呢?从语义上来讲,DT是名称,是标题,而DD是解释,是内容。DT与DD都是盒子,DD只对应解释他上面的一个DT,不能越级或是向下解释。当DT不存在的时候那么DD也就没有存在的意义,而DT是否一定需要DD跟随其后,这点上我还没有找到确切的文献可以说明这一点,但是以我对于定义列表的理解,我认为如果数据中只有DT没有DD那么这就一不能成为定义列表,直接用UL无序列表就可以了。但是当数据中只有某一个或是少数几个没有DD,而大部分都有DD,那么园子认为这种形式是可以存在的。

再看个例子:

1
2
3
4
5
6
<dl>
 <dt>有序列表</dt>
 <dt>有序列表</dt>
 <dt>有序列表</dt>
 <dt>有序列表</dt>
</dl>

以上这种很明显就不合适了,这样的形式就是无序列表,何必要用定义列表呢,从语义上也说不通。

一个DT可以带多个DD吗?例:

1
2
3
4
5
6
7
8
<dl>
 <dt>国内电视台</dt>
 <dd>中央一套</dd>
 <dd>中央二套</dd>
 <dd>中央三套</dd>
 <dt>国外电视台</dt>
 <dd>美国在线</dd>
</dl>

上面这种形式则我个人认为是可行的。关于一个DT是否可以带多个DD的问题,这点上我同样没有找到文献说明不可以,并且在一些知名的网站中这种一个DT带多个DD的依然很多。我对此的看法是,物殊情况下一个DT带多个DD是可以的,但是一般情况上我认为这种做法还是有所欠缺。从解释上来看,多个DD是否表明着多个解释?或是解释内容要分段也不需要让DD来当这只抓耗子的狗。一个DD中完全可以内嵌很多个段落标签。再则从样式应用上来讲,多个DD整体松散,其设计的扩展性不足。比如,当我们要做一个点击DT隐藏对应的DD的效果时,这种多DD的做法就不那么好实现了。所以在不是特殊用途情况下尽可能不要使用一个DT带多个DD的做法,还是把内容放在DD里,分段的就让段落标签去做,分列表的就让有序或是无序列表去表现。您的意见呢?

最后给一个比较好的例子供大家参考:

1
2
3
4
5
6
7
8
<dl>
<dt >《千与千寻》</dt>
<dd>剧情说的是10岁的少女千寻与父母一起从都市搬家到了乡下。没想到在搬家的途中,一家人
发生了意外。他们进入了汤屋老板魔女控制的奇特世界——在那里不劳动的人将会被变成动物。</dd>
<dt>《龙猫》</dt>
<dd>和爸爸一起搬到乡下的两姐妹,在家旁的一棵大树下发现了只有好孩子才能看见的TOTORO。
其间发生了很多不可思议而有趣的故事。</dd>
</dl>
  1. lingcarlos
    9月 24th, 201222:03

    已收藏,一直无法找到合适的理由跟别人解释为什么不推荐使用 1个dt对应多个dd,你的这篇文章让我找到非常有价值的解释,谢谢分享

  2. 静脉曲张袜
    5月 6th, 201114:48

    哦~原来这个标签是这个意思啊!很不错。学习了。

  3. 三七八蛋
    11月 22nd, 200913:29

    多用了就熟悉了。

您必须在 登录 后才能发布评论.