Vậy tại sao "chiều rộng tối đa" không hoạt động trên Bảng trong Internet Explorer 7? Chiều rộng tối đa có sẵn trên các phần tử khác, và có vẻ hoạt động tốt, nhưng khi áp dụng cho một bảng, tôi không thể làm cho nó làm bất cứ điều gì, tức là quy tắc Max-Width chỉ đơn giản là bỏ qua. Dưới đây là các mã:Chiều rộng tối đa không hoạt động trên Bảng cho IE7
<!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>
Trong Firefox, bảng được đúng chế để 500px, và các văn bản bên trong phá vỡ các tế bào theo những cách thích hợp (giữa các từ, giống như bạn mong muốn). Trong IE7 tuy nhiên, nó giống như quy tắc "no-wrap" đã được áp dụng. Mỗi ô trải dài đến mức cần thiết của nó, mà không cố gắng ngắt văn bản với ô, và toàn bộ bảng đơn giản trải ra để bỏ qua quy tắc chiều rộng tối đa.
Có chuyện gì với cái crap này? Làm thế nào để đặt Max-Width trên một bảng trong IE7? (Nó hoạt động tốt trong FF & IE8)
gì tôi đã cố gắng mà không hoạt động:
table {display: block; }
td {word-wrap: break-word; }
bảng {bố cục bảng: cố định; }
Rõ ràng IE7 làm những việc khác nhau với 'max-width' tùy thuộc vào DTD: http://www.wileymedia.com/weblog/archives/2007/02/maxwidth_and_internet_explorer.html – vcsjones
Vâng tôi đã cố gắng một vài DocTypes khác nhau không có kết quả. Bài viết đó là đúng cho các phần tử cấp khối chung, nhưng nó không sửa bảng. – Graham