我开始更深入地研究CSS,并决定将我的网站主要由表格组成的html转换为div。
我正在尝试使用div来完成与此测试页上的表相同的操作。但是我遇到了一些问题:
我走了多远:
代码:
<style type="text/css">
body {
background-color:#000;
}
/* TABLE CSS */
td {
font-family: Tahoma;
font-size: 12px;
}
.line {
border-collapse:separate;
border:1px solid #222222;
border-spacing:1px 1px;
margin-left:auto;
margin-right:auto;
background-color: #000000;
padding: 1px;
width:400px;
}
.topic {
background-color:#3C0;
font-weight: bold;
height: 23px;
color:#FFF;
text-align:center;
}
.row {
background-color: #111111;
border-bottom: 1px solid black;
color: #ffffff;
height:12px;
line-height:21px;
padding:0px;
}
.row:Hover {
background-color: #252525;
}
/* DIV CSS */
div.line {
border-collapse:separate;
border:1px solid #222222;
border-spacing:1px 1px;
align:center;
background-color: #000000;
padding: 1px;
width:400px;
}
div.topic {
background-color:#3C0;
font-family: Tahoma;
font-size: 12px;
height: 23px;
font-color:#FFF;
text-align:center;
}
div.row {
background-color: #111111;
border-bottom: 1px solid black;
color: #ffffff;
padding:6px;
font-family: Tahoma;
font-size:12px;
}
div.row:Hover {
background-color: #252525;
}
</style>
<body>
<table class="line">
<tbody>
<tr>
<td class="topic" colspan="3">Table</td>
</tr>
<tr class="row">
<td width="20%" align="left">Test</td>
<td width="20%" align="center">1</td>
</tr>
<tr class="row">
<td align="left">Test</td>
<td align="center">2</td>
</tr>
</tbody>
</table>
<p>
<div class="line">
<div class="topic">Div</div>
<div class="row">Test</div><div class="row">1</div>
<div class="row">Test</div><div class="row">2</div>
</div>
</p>
答案 0 :(得分:5)
很高兴看到您将table
转换为div
s,但请确保您只在必要时执行此操作。
如果页面上的数据是表格式的,那么将它放在table
元素中是有意义的。
Div
用于布局和结构,table
用于显示表格数据。
我的一个同事曾经花了很多年的时间在一个桌子结构之外的div中建立一个论坛。这都是因为他被告知“桌子不好,使用div和CSS”。重要的是要记住,这只是指布局结构。
如果您的结构包含行和列,请使用表格。表仍然是有用的有用HTML元素,并且远未被弃用。
答案 1 :(得分:1)
获得一本好书 - 我推荐 CSS:The Missing Manual(Missing Manuals)
使用float
esp display
relative
一长篇文章
醇>
答案 2 :(得分:1)
你走了:
HTML:
<div id="wrap">
<h2> Div </h2>
<div class="section">
<div> Test </div>
<div> 1 </div>
</div>
<div class="section">
<div> Test </div>
<div> 2 </div>
</div>
</div>
CSS:
#wrap {
border: 2px solid #333;
padding: 2px;
}
h2 {
background: green;
color: white;
text-align: center;
font-weight: bold;
padding: 4px 0;
}
.section {
overflow: auto;
margin-top: 2px;
}
.section > div {
float:left;
width: 50%;
box-sizing: border-box;
-moz-box-sizing: border-box;
background-color: #333;
color: white;
padding: 4px 0;
}
.section > div + div {
text-align: center;
border-left: 2px solid black;
}
答案 3 :(得分:0)
放浮动:左;在这堂课上: div.row
答案 4 :(得分:0)
看看css显示属性。
.line {
display: table;
}
.row {
display: table-cell;
}
但是你应该在使用Internet Explorer时遇到一些问题。在那个caase你可以使用display:inline;用缩放:1;