Could someone help me resolve the discrepancies between the following two cases. In both cases I have split an image into several pieces and placed them in a table so that it still appears to be a single image.
However, in one case, I have set the doctype to and in the other there is no doctype set. My expected result is shown when there is no doctype set ( no border-spacing or cellspacing or any other spaces between the cells and the rows). However, when the doctype is set, there is a 1px padding in-between rows.
The HTML for both cases is the same except for the doctype
<!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>
could someone explain to me why there is a 1px gap between the rows when the doctype is set to HTML ?
@Shafee: Try —
Edit
Short explanation: your code with the
DOCTYPEwas triggering strict mode in your browser which handles the display of images differently.Longer explanation:
Source: http://www.quirksmode.org/css/quirksmode.html