can someone please explain to me why having a doctype of
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
and
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
render the following block differently under firefox?
<table style="border-collapse:collapse; margin:0; padding:0;">
<tr>
<td style="border:1px solid red; margin:0; padding:0;"><img src="http://images.smh.com.au/2010/06/01/1533814/th_park-90x60.jpg" style="border:none; padding:0; margin:0;" /></td>
</tr>
</table>
using 'Transitional', there is no white space below the image, using 'Strict' there is!
2nd question, using strict, is it at all possible to remove this whitespace?
As you can see in this table, the first Doctype triggers quirks mode in all browsers, the second will trigger standards mode.
The rest of this story is continued at Images, Tables, and Mysterious Gaps:
The first choice, and one that will work for most graphically-intense designs, is to convert the image from being an inline element to a block-level element. Do that, and it no longer generates a line box, and so the problem goes away-- assuming that the image is the only thing that occupies that table cell. In the simplest case, we might add a style like this:
td img {display: block;}