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,如需转载请自行联系原作者

相关文章
|
前端开发 JavaScript Java
一文了解主流开发语言都有哪些!
本文将综合探讨目前市场上最流行、最多人使用的几种主流开发语言,包括它们的特点、典型应用场景以及简单示例代码。
|
网络协议 安全 搜索推荐
子域名收集神器:Amass 保姆级教程(附链接)
子域名收集神器:Amass 保姆级教程(附链接)
子域名收集神器:Amass 保姆级教程(附链接)
|
Java 网络安全 Maven
简记:一个flutter构建错误A problem occurred configuring project ‘:smart_auth‘. > Could not res
简记:一个flutter构建错误A problem occurred configuring project ‘:smart_auth‘. > Could not res
878 0
|
网络协议 物联网 网络性能优化
物联网网络协议-MQTT协议的使用
物联网网络协议-MQTT协议的使用
594 2
|
Java 调度
Java实现定时启动,且只执行一次,如何实现?
【10月更文挑战第18天】Java实现定时启动,且只执行一次,如何实现?
928 3
|
12月前
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
509 17
使用Web浏览器访问UE应用的最佳实践
|
11月前
|
人工智能 安全 机器人
LangBot:无缝集成到QQ、微信等消息平台的AI聊天机器人平台
LangBot 是一个开源的多模态即时聊天机器人平台,支持多种即时通信平台和大语言模型,具备多模态交互、插件扩展和Web管理面板等功能。
2151 14
LangBot:无缝集成到QQ、微信等消息平台的AI聊天机器人平台
|
Java 应用服务中间件 Windows
2022年最新最详细的tomcat安装教程和常见问的解决
这篇文章提供了2022年最新最详细的Tomcat安装教程,包括离线安装包的获取、官网下载步骤、JDK版本检查、环境变量配置,以及解决安装过程中可能遇到的常见问题,如乱码等。
2022年最新最详细的tomcat安装教程和常见问的解决
|
Kubernetes 应用服务中间件 nginx
K8S二进制部署详解,一文教会你部署高可用K8S集群(二)
K8S二进制部署详解,一文教会你部署高可用K8S集群(二)
1177 0
|
存储 安全 算法
深入解析Linux命令:cksum
`cksum`是Linux中用于计算文件CRC校验和及字节数的命令,有助于验证文件完整性。它的语法是`cksum [OPTION]... [FILE]...`,常用选项包括`-b`(按字节显示文件大小)、`-c`(检查校验和文件)等。通过示例展示了如何计算单个或多个文件的CRC,以及如何验证文件完整性。在系统管理和网络安全中,`cksum`可用于文件传输验证、备份检查和安全审计,确保文件未被篡改。