定义列表 dt dl

作者:振之 来源:毅博客 时间:2008-08-03 17:14:00 

写完“无序列表”和“有序列表”之后已经有人和我说这两篇看得没什么意思。这两篇文章如果只以单向读取的形式阅读那么的确是没什么意思,但是这两篇重要的地方就在于要读者加入自己的思考。有序无序单标签很简单,只要知道用法就行,但是关键点我认为不在于知道这个标签长什么样,重点是在于什么样的数据适合使用什么样的列表。什么样的数据是有序的,什么样的数据是无序的?阅读完要思考,这样才能学到东西,知识才能是自己的。

定义列表其形式特别,用法也很特别,相比较无序列表来说用到定义列表的就少很多。也有很多朋友还没有开始使用这个列表,那么下面就来分解一下这个列表的代码:

  1. <dl>

  2.  <dt></dt>

  3.  <dd></dd>

  4. </dl>

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

  1. <dl>

  2.  <dt>有序列表</dt>

  3.  <dt>有序列表</dt>

  4.  <dt>有序列表</dt>

  5.  <dt>有序列表</dt>

  6.  </dl>

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

  1. <dl>

  2.  <dt>有序列表</dt>

  3.  <dd>有序列表就是有序列的数据以列表形成组织而成的数据形式</dd>

  4.  <dt>有序列表</dt>

  5.  <dd>有序列表就是有序列的数据以列表形成组织而成的数据形式</dd>

  6.  <dt>这一句没有解释</dt>

  7.  <dt>有序列表</dt>

  8.  <dd>有序列表就是有序列的数据以列表形成组织而成的数据形式</dd>

  9. </dl>

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

还是开始讲的,标签本身没什么,重点要思考如何应用。下面给一张图大家看一下是否应该使用自定义列表。一起讨论一下。 

标签:列表,DT,标签
0
投稿

猜你喜欢

  • MySQL表设计优化与索引 (九)

    2010-10-25 20:16:00
  • Access数据库出现0x80004005问题的解决方法

    2008-11-28 14:25:00
  • 如何正确编写高质量高性能的MySQL语法

    2008-11-27 15:43:00
  • MySQL:使用源码分发版还是二进制分发版

    2009-09-01 10:35:00
  • 如何连续展示数据库里的图片?

    2010-01-01 15:50:00
  • 重温Javascript继承机制

    2011-07-04 12:17:23
  • 用JS找出字符串中出现次数最多的字母

    2007-11-12 13:40:00
  • 使用SQL Server 2008中对象相关性

    2008-12-12 06:36:00
  • 《web信息架构》——分类方式

    2009-11-27 19:16:00
  • 用 iframe 解决下拉框与层之冲突

    2008-04-28 12:24:00
  • 删除数据库中重复数据的两个方法

    2008-01-01 19:16:00
  • ASP中Cache技术的应用

    2007-09-28 12:41:00
  • 跨浏览器实现float:center,No CSS hacks

    2008-08-22 12:59:00
  • 整理一个asp多级树型分类问题的解决方法

    2007-10-17 18:38:00
  • MySQL中与NULL值有关的疑难问题

    2008-11-24 12:47:00
  • ORACLE数据库事务隔离级别介绍

    2012-10-07 10:43:36
  • 将MySQL的作为文件系统使用

    2011-12-14 18:34:26
  • 如何更快更好地调试ASP程序代码?

    2009-11-23 20:13:00
  • SQL Serve数据库到DB2连接服务器的实现过程全解

    2010-08-31 15:06:00
  • 四大因素扼杀了中国人的创造力

    2008-09-11 18:05:00
  • asp之家 网络编程 m.aspxhome.com