It's because IE is outdated, and the Mozilla browsers are much newer, and you have to update your understanding of the newer standards and such....
See CSS 2.1, Table height algorithms
In reply to:
The height of a 'table-row' element's box is calculated once the user agent has all the cells in the row available: it is the maximum of the row's specified 'height' and the minimum height (MIN) required by the cells. A 'height' value of 'auto' for a 'table-row' means the row height used for layout is MIN. MIN depends on cell box heights and cell box alignment (much like the calculation of a line box height). CSS 2.1 does not define what percentage values of 'height' refer to when specified for table rows and row groups.
Oops....you have a table where you specified percentage heights on the table rows. Even if that was supposed to work, you would have had to specify a height for the table so that the math could be done...uh, whats 27% of an undefined value, after all? That can't be determined, so the rows will be as high as the content needs them to be.
You probably meant to do something like this:
/* cells in first row tall enough to keep text off busy background */
tr#firstrow td {
height: 140px;
}
Anyways, you probably get the idea now. 1) Catch up /w the standards. 2) Stop coding for IE only. 3) Avoid using tables to layout a page...even the Mozilla browsers still have buggy table code.
Oh yeah, another thing...unless you dream in CSS, don't forget to validate your CSS at http://jigsaw.w3.org/css-validator/
It is invalid to specify commas between the margin values for the margin property:
/* INVALID */
margin: 15px, 150px, 10px, 5px;
/* VALID */
margin: 15px 150px 10px 5px;
Perl / MySQL / HTML CSSEdited by Atropos7 on 02/11/05 00:02 AM (server time).