【发布时间】:2011-04-01 09:37:11
【问题描述】:
谁能帮我解决以下两种情况之间的差异。在这两种情况下,我都将一张图片分割成几块并将它们放在一张桌子上,这样它看起来仍然是一张图片。
但是,在一种情况下,我已将 doctype 设置为,而在另一种情况下,没有设置 doctype。当没有设置文档类型(没有边框间距或单元格间距或单元格和行之间的任何其他空格)时,会显示我的预期结果。但是,当设置 doctype 时,行之间有 1px 的填充。
这两种情况的 HTML 是相同的,只是文档类型不同
<!DOCTYPE html>
<html>
<head>
<style type='text/css'>
.table{
display: table;
}
.row{
display: table-row;
}
.cell{
display: table-cell;
}
</style>
</head>
<body>
<div id='slider' class='table'>
<div class='row'>
<div class='cell'><img src='slides/1/1_01.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_02.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_03.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_04.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_05.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_06.gif' alt='slide' /></div>
</div>
<div class='row'>
<div class='cell'><img src='slides/1/1_07.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_08.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_09.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_10.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_11.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_12.gif' alt='slide' /></div>
</div>
<div class='row'>
<div class='cell'><img src='slides/1/1_13.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_14.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_15.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_16.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_17.gif' alt='slide' /></div>
<div class='cell'><img src='slides/1/1_18.gif' alt='slide' /></div>
</div>
</div>
</body>
</html>
有人可以向我解释为什么当 doctype 设置为 HTML 时行之间有 1px 的间隙吗?
【问题讨论】:
-
你试过
border-collapse: collapse;吗?此外,拥有一组像表格一样的 div 函数的目的是什么?为什么不直接使用table? -
你为什么不用一张桌子?
-
因为在任何情况下我都倾向于严格遵守不使用表格的规则,除了表格数据。在这里,我正在尝试为图像创建布局。不过,使用表格会更容易。
-
我不认为使用这么多 DIV(在表格模式下,不少于)在语义上会更有意义。取决于我猜的用例