2010-07-22 8 views
21

Có một bảng tìm kiếm như thế này:IE8 bỏ qua chiều rộng td, hoạt động trên IE7

<table width="100%"> 
<tr id="header"> 
<td colspan="2"></td> 
</tr> 
<tr id="center"> 
<td id="left" style="width: 201px"></td> 
<td id="mainpage" style="width: 100%"></td> 
</tr> 
</table> 

Trong mọi trình duyệt (bao gồm cả IE7) ngoài IE8 là "trái" td là tốt. Trong IE8 nó vượt quá chiều rộng theo nội dung của trang chính.

Tôi muốn đăng một số ảnh chụp màn hình nhưng đây là bài đăng đầu tiên của tôi ở đây.

Bất kỳ ý tưởng nào?

+0

cách bạn muốn thực hiện tổng chiều rộng của bảng 201px + 100% ?? –

+0

Tôi thì không. Nhưng bố cục này khắc phục sự cố IE7. Và nó không ảnh hưởng đến IE8. – Bill

Trả lời

41

Điều đó width: 100% trên cột thứ hai trông không đúng - nếu bạn đang cố gắng làm cho cột thứ hai mở rộng đến phần còn lại của không gian có sẵn, bạn không nên cần điều đó chút nào, để bạn có thể xóa nó. Ngoài ra, hãy thêm số này vào bảng của bạn:

table-layout: fixed; 

để đảm bảo rằng chiều rộng được tuân theo.

mã hoàn chỉnh:

<table style="width: 100%; table-layout: fixed;"> 
<colgroup> 
    <col style="width: 201px"> 
</colgroup> 
<tr id="header"> 
    <td colspan="2"></td> 
</tr> 
<tr id="center"> 
    <td id="left"></td> 
    <td id="mainpage"></td> 
</tr> 
</table> 
+0

Suy nghĩ về điều này và đã thử nó, nhưng một khi tôi đặt bảng bố trí để cố định hai cột có cùng chiều rộng (50%) và nó bỏ qua các giá trị cố định. 100% cột thứ hai có sẵn để sửa lỗi cho IE7. – Bill

+0

Hãy thử giải pháp đã chỉnh sửa bằng các cols được thêm vào - không phải là giải pháp cực kỳ thú vị nhưng nó hoạt động. – Razor

+0

Thật vậy nó! Có vẻ tốt hơn giải pháp của tôi, tôi sẽ đi với điều đó. Cảm ơn! – Bill

0

Bạn có chắc chắn nó phải được 100%

<table width="100%"> 

Bảng sẽ được lớn như yếu tố mẹ của nó. Có thể bạn nên đặt chiều rộng cố định cho bảng:

<table width="600"> 
+0

Bảng nằm trong div phù hợp với toàn bộ màn hình. – Bill

0

Nếu bạn xác định chiều rộng cho bảng và lần đầu tiên bạn không cần phải xác định chiều rộng cho bảng.

Tôi đoán lần thứ hai nhận được 100% từ vùng chứa là bảng.

0

Vâng, vấn đề hơi cố định bằng cách thêm một bảng trống với một chiều rộng cố định bên trong mainpage.

Bằng cách đó, tôi thực sự thiết lập một chiều rộng tối thiểu cho bất kể thái độ bỏ qua của IE. Cảm ơn tất cả các câu trả lời.