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

简介:

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

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

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

table数据列表

传统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的几率以及后期维护更困难。

dl、dt、dd数据列表

现在让我们来看看使用了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表单或其它网页布局的话,现在是时候改变一下你的代码了。让你的工作更轻松些吧!


本文转自寒意博客园博客,原文链接:http://www.cnblogs.com/hnyei/archive/2011/09/23/2185816.html,如需转载请自行联系原作者

相关文章
|
3月前
|
移动开发 前端开发 JavaScript
Twaver-HTML5基础学习(3)基本数据元素(Data)其他功能函数以及组Group
本文介绍了Twaver HTML5中Data类的其他功能函数,如获取和操作子网元的方法,以及组(Group)的概念和使用。文章通过示例代码展示了如何在React组件中创建组、添加图元到组中,并通过toChildren函数获取满足特定条件的图元。
40 0
Twaver-HTML5基础学习(3)基本数据元素(Data)其他功能函数以及组Group
|
5月前
Element UI 【表格合计】el-table 实战范例 -- 添加单位,自定义计算逻辑
Element UI 【表格合计】el-table 实战范例 -- 添加单位,自定义计算逻辑
460 0
|
自然语言处理 安全 Java
分分钟搞定来源list添加到目标list,据说只要5%的人知道
当你需要在不改变原始列表的情况下将一个列表的元素添加到另一个列表中时,你可以使用Java函数中的来源list添加到目标list。这在多种情况下都可能会被使用到,例如: 数据合并:当你需要将两个或多个列表中的数据合并成一个列表时,可以使用来源list添加到目标list的方法
|
BI
如何在. doc文件中动态嵌入table
如何在. doc文件中动态嵌入table
98 0
如何在. doc文件中动态嵌入table
Python: list of list, 将内部 list 的 index 作为该内部 list 中每个元素的分类标签
Python: list of list, 将内部 list 的 index 作为该内部 list 中每个元素的分类标签
|
存储 索引
Element Table 可以实现哪些常见的有用的功能
最近项目中频繁使用 table 功能,因为 UI 框架使用的又是 Element UI,于是总结下在 Element 下 el-table 组件使用技巧。
488 0
Element Table 可以实现哪些常见的有用的功能
|
算法 C++ 容器
list以及使用举例--C++基础
list以及使用举例--C++基础
117 0
list以及使用举例--C++基础
|
存储 关系型数据库 MySQL
type列详解及案例分析
Explain 命令中的 type 列,显示MySQL查询所使用的 关联类型(Join Types) 或者 访问类型,它表明 MySQL决定如何查找表中符合条件的行。 常见访问类型性能由最差到最优依次为:ALL < index < range < index_subquery < unique_subquery < index_merge < ref_or_null < fulltext < ref < eq_ref < const < system。
List使用时不支持add insert 等方法处理详情
List使用时不支持add insert 等方法处理详情
426 0