CSS: 简单行列用table还是dl,dt,dd?
如果表格不复杂,只是几行几列,还是采用DL.DT.DD,如果是复杂数据显示,例如注册个人信息列表,还是建议使用table。
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代码:
/*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 {
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