Why does "max-width" not work on tables in Internet Explorer 7? max-width
is available on other elements, and seems to work fine, but when applies to a table, I can't make it do anything, i.e. the max-width
rule is simply ignored.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Foo</title>
</head>
<body>
<div style="background-color: Red; max-width: 1000px;">
<table style="background-color: Green; max-width: 500px;">
<tr>
<td><a href="#" class="action view">View</a></td>
<td>7/20/2011</td>
<td>James Smith</td>
<td>345 NW 23rd Ave Gainesville, FL 32606</td>
<td>Alachua Blah blah sf jfh jsdhjs fjsh djkf sdjkhk</td>
<td>345621</td>
<td>Fred Smith</td>
</tr>
</table>
</div>
</body>
</html>
In Firefox, the table is properly constrained to 500px, and the text inside the cells breaks in appropriate ways (between words, just like you'd expect). In IE7 however, it's like the "no-wrap" rule has been applied. Each cell stretches out to its needed with, without trying to break text withing the cell, and the whole table simply stretches out to ignore the max-width
rule.
How do I put max-width
on a table in IE7? (It works fine in Firefox & IE8)
What I've tried that doesn't work:
table { display: block; }
td { word-wrap: break-word; }
table { table-layout: fixed; }