关注前端开发/网页设计/网站可用性/用户体验,暴风彬彬的趣味互联网生活…
近期博客忙着搬家,所以将近两周的时间都无法访问,还好现在已经解决,从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的数据列表代码如下所示。我们要为每行添加tr标签,然后还要在其中为标题和数据各加一个td标签,由于标签都是td,想要添加样式的话还要为每个td添加class属性。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <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添加样式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /*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的几率以及后期维护更困难。
现在让我们来看看使用了HTML dl、dt、dd标签的数据列表。首先我们使用dl(definition list-自定义列表)标签来容纳整个数据结构,然后我们使用dt(自定义标题)标签和dd(自定义描述)标签来容纳数据中的标题和内容。
1 2 3 4 5 6 7 8 9 10 | <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*/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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实现数据列表
25 条 关于 "dl,dt,dd标签 VS 传统table实现数据列表" 的评论
第一个来看,哈哈
好久没看到你的新作了~
这篇正是我想要的 如何在小数据量时使用标签代替TABLE
这样不仅简介 而且面向编程更友好 不错
table的不用加class吧?用th和td就可以分清楚了。
@ flytwokites:
感谢flytwokites的提醒,th的确可以省去class,但单单省去class,代码量依然要比dl多哦,更何况如果写一个符合标准的table,远不止这些代码
dl,dt,dd标签 VS 传统table实现数据列表 | 彬Go…
9efish.感谢你的文章 – Trackback from 9eFish…
单个单元格数据多的话,就麻烦了,挤开就难看了
哈哈,相信很多人都和我一样等待伴随着迷惑很久了。下次不能访问之前要在rss里说一声哦。
@撒:
是捏是捏!table单元格的操控性的确要差一些
@溜达去北极:
希望不会再有下次了,嘎嘎嘎~~~感谢大家的支持和等待!
终于可以访问了,blog怎么停了一段时间啊?
@阿呆:
因为博客前些日子在忙着搬家,从windows主机搬到Linux主机,所以有一段时间暂时无法访问哦….
用JQuery控制table中的各样式其实也行。
有些复杂的表格用table写还是比较方便的。
个人观点,呵呵。
@三儿:
请看第二段最后一句话,我并没有否定table哦,已经有说”当然,table也有它的用武之地,那就是很大数据量的数据表,但是小型的数据列表和表单完全可以不使用table哦!”这篇文章要探讨的是小数据列表和表单,而不是大表格和JQuery。不过还是谢谢你发表意见^_^
还要麻烦问一下彬彬
有一篇关于写 CSS 目录的文章怎么看不到了哦?
有的话给我个连接啊,还要学习学习呢。
回复的真快看来是利用午休时间啊 哈哈~
多谢 多谢。
关注博客很久了,以后还要和彬彬多学习啊。
@三儿:
你说的是这篇么?
CSS最佳实践:为今后的项目制作空白CSS模板文件
http://blog.bingo929.com/css-best-practices-css-template-file.html
是的 多谢帅哥
不知道为什么我找不到了呢。。。
好像TABLE例子你忘了一个th标签~~
那么th=dt td=dd
可以这样理解吗
@黑暗之子:
和很多呵呵,之前也有朋友留言提到过可以这样的,的确可以这样写,也会让table更具语义。但是代码依然会比dl多哦,多出来
dd/dt/dl是谁的标准?
这里用dd/dt/dl 真的符合语言吗?
能说说说?
明白dl,dt,dd的用法了,少量数据确实好用
学习
我也看完这篇了~~~顶一下
问个问题,在用dldtdd的情况下又怎么保证数据的竖直对齐呢?毕竟有的地方右面是一个比较大的输入框的,如果不是竖直对齐按这种方法就是头部对齐了。
我要评论 >>