dl,dt,dd标签 VS 传统table实现数据列表

dl列表和table表格哪个更适合数据列表

近期博客忙着搬家,所以将近两周的时间都无法访问,还好现在已经解决,从windows主机迁移到了更适合php+mySQL环境的Linux主机,速度方面是否有所提升还不太清楚,总之现在博客恢复正常,还是比较欣慰的。从今天开始彬Go会一如既往的为大家奉献更多更好的技术文章,希望大家继续捧场,学到更多有用的东西。好了言归正传….

过去有很多网页设计师喜欢将他们的网页效果图用table布局实现成网页,但是这样做会遇到一个比较麻烦的问题就是,后期调试和维护会相当的困难。现在,越来越多的前端开发er们开始使用xHTML+CSS替代最初的table布局完成网页的整体布局,不但让网站降低了开发和维护的成本,而且代码也更语义化了。但是,并不是说table从此消失了,它仍然被很多人用来作为网页中数据表现的必需品,比如个人信息数据列表等。事实上,使用HTML的dl、dt、dd标签会让你节省更多的代码,更能让代码符合内容的语义化。当然,table也有它的用武之地,那就是很大数据量的数据表,但是小型的数据列表和表单完全可以不使用table哦!

如果你仍然在使用传统table来创建数据列表,那么请继续往下看,看看使用HTML的dl、dt、dd标签是如何让你的工作更轻松…

您还可以参考以下xHTML+CSS相关教程及资源:
43个实例xHTML+CSS(DIV+CSS)网页及导航布局教程
CSS代码命名惯例语义化的方法
简洁纯净的CSS表单设计实例
为你的有序列表添加个性样式

table数据列表

传统table的数据列表代码如下所示。我们要为每行添加tr标签,然后还要在其中为标题和数据各加一个td标签,由于标签都是td,想要添加样式的话还要为每个td添加class属性。

<table>
  <tbody>
    <tr>
      <td class="title">Name:</td>
      <td class="text">Squall Li</td>
    </tr>
    <tr>
      <td class="title">Age:</td>
      <td class="text">23</td>
    </tr>
    <tr>
      <td class="title">Gender:</td>
      <td class="text">Male</td>
    </tr>
    <tr>
      <td class="title">Day of Birth:</td>
      <td class="text">26th May 1986</td>
    </tr>
  </tbody>
</table>

一下是相应的CSS代码,我们为之前在HTML中声明的class添加样式。

/*TABLE LIST DATA*/
table {
  margin-bottom:50px;
}

table tr .title {
  background:#5f9be3;
  color:#fff;
  font-weight:bold;
  padding:5px;
  width:100px;
}

table tr .text {
  padding-left:10px;
}

从以上代码可以看出,使用table标签,如果想使用CSS来对内容进行修饰或修改的话,需要为td单元格添加一些相应的class属性。这样无形中增加了自己的工作量,代码会稍微变多了一些。代码变多意味着什么?意味着网站的流量在浪费、增加更多的产生Bug的几率以及后期维护更困难。

dl、dt、dd数据列表

现在让我们来看看使用了HTML dl、dt、dd标签的数据列表。首先我们使用dl(definition list-自定义列表)标签来容纳整个数据结构,然后我们使用dt(自定义标题)标签和dd(自定义描述)标签来容纳数据中的标题和内容。

<dl>
  <dt>Name: </dt>
  <dd>Squall Li</dd>
  <dt>Age: </dt>
  <dd>23</dd>
  <dt>Gender: </dt>
  <dd>Male</dd>
  <dt>Day of Birth:</dt>
  <dd>26th May 1986</dd>
</dl>

而在css代码中,我们仅需让dt和dd向左浮动即可。
/*DL, DT, DD TAGS LIST DATA*/

dl {
  margin-bottom:50px;
}

dl dt {
  background:#5f9be3;
  color:#fff;
  float:left;
  font-weight:bold;
  margin-right:10px;
  padding:5px;
  width:100px;
}

dl dd {
  margin:2px 0;
  padding:5px 0;
}

从dl、dt、dd的实例中你应该能明显的看出它们的代码更简洁更平滑更符合语义化了吧。

看到这里,如果你还在坚持使用table标签来完成web表单或其它网页布局的话,现在是时候改变一下你的代码了。让你的工作更轻松些吧!

英文原文:How To Use DL, DT And DD HTML Tags To List Data vs Table List Data
翻译原文:dl,dt,dd标签 VS 传统table实现数据列表

转载声明:
原载:彬Go——集前端开发/网页设计/网站可用性/用户体验于一体的趣味互联网生活
本文链接:http://blog.bingo929.com/dl-dt-dd-html-vs-table-list-data.html
如需转载必须以链接形式注明原载或原文地址,谢谢合作

51 Comments

发表评论

  • alert("XSS")
    2016-02-19

    试试啊,别建议

  • Jerry
    2016-02-19

    挺好的,学习了, alert(“XSS”)

  • 打蜜蜂
    2013-03-23

    几好,学习学习中,table table 我爱你,dl dt dd也爱你,css大爱

  • 云一
    2012-08-21

    dl dt dd,怎么嵌套数据库?

  • an
    2012-07-23

    我纠结了 我现在就是用他左边一个图 右边 3行 下面一个按钮 一共9个DL 现在由于数据大出问题了 我那3行有的成4行了 就看不过去了

  • anan
    2012-07-23

    不好 没有table好控制啊 我要左边一个右边3个呢

  • dl,dt,dd标签 VS 传统table实现数据列表 | 前端咖啡屋
    2012-04-21

    […] To Use DL, DT And DD HTML Tags To List Data vs Table List Data 翻译原文:dl,dt,dd标签 VS 传统table实现数据列表 前端开发 ← struts2.0中struts.xml配置文件详解 我做前端一年半 → […]

  • 匿名
    2012-03-30

    挺好的,之前没深入看

  • 111
    2011-11-29

    你没有清清楚浮动的标签啊,如果添加背景色的话,火狐就出现问题了,不信你试一下,

  • Angel
    2010-11-04

    从去年就在关注你的发表的技术文章,就是没有留下过脚印。今儿留个脚印