2010-06-14 46 views
7

Tôi đang sử dụng bảng để hiển thị một tập hợp các dữ liệu, mã HTML của tôi đi đây ...Chiều rộng bảng HTML trong IE?

<table border="1" cellspacing="0" cellpadding="0" style="width: 780px;"> 
    <tbody> 
    <tr> 
     <td style="width: 780px; height: 25px;"> 
     <pre width='100' style='width: 780px; word-wrap: break-word;'> 
      the data goes here..... 
     </pre>    
     </td> 
    </tr> 
    <tr> 
     <td style="width: 780px; height: 25px;"> 
     <pre width='100' style='width: 780px; word-wrap: break-word;'> 
      the data goes here..... 
     </pre>    
     </td> 
    </tr> 
    </tbody> 
</table> 

bảng này hoạt động ok trong firefox, safari, và IE8. Nhưng vấn đề phát sinh trong IE7, IE6 .. asthe bảng mở rộng và đi ra khỏi màn hình (tức là mở rộng về phía bên tay phải trong trục x) .... là có bất kỳ hack để sửa chữa nó?

các ảnh chụp màn hình của IE6 trong IETester:

enter image description here

Trả lời

2

Vấn đề được giải quyết, như tôi đã sử dụng các mã như

<table border="1" cellspacing="0" cellpadding="0" width="780" style="table-layout:fixed"> 
<col width="780"> 
<tbody> 
<tr> 
    <td style="width: 780px; height: 25px; overflow:hidden;"> 
    <pre width='100' style='width: 780px; word-wrap: break-word;'> 
     the data goes here..... 
    </pre>    
    </td> 
</tr> 
<tr> 
    <td style="width: 780px; height: 25px; overflow:hidden;"> 
    <pre width='100' style='width: 780px; word-wrap: break-word;'> 
     the data goes here..... 
    </pre>    
    </td> 
</tr> 
</tbody> 
</table> 

trong đoạn code trên có ba thay đổi ...

  1. trong thẻ bảng thuộc tính chiều rộng là thiết lập (thay vì đặt nó trong thuộc tính kiểu)
  2. thẻ col được đặt với chiều rộng bằng với chiều rộng bảng
  3. và theo kiểu của TD, tràn được đặt thành ẩn, (tràn: ẩn).

Tôi đã nhận thông tin này từ liên kết đưa ra dưới đây, xin vui lòng tất cả mọi người xem ... "http://www.tek-tips.com/faqs.cfm?fid=4499" và do đó vấn đề của tôi đã được giải quyết.

0

Hãy thử

<table border="1" cellspacing="0" cellpadding="0" width="780"> 
+0

không có nó không làm việc với IE7 và IE6 .. vẫn mở rộng về phía bên phải ... –

+0

là nó trở thành chỉ nội dung trên trang của bạn có thể xảy ra vì bạn sử dụng nó trong một số div.kiểm tra điều gì sẽ xảy ra với mã duy nhất được cung cấp nếu không. – Salil

0

Tôi vừa thử nghiệm sử dụng HTML của bạn và nó trông giống hệt nhau trong IE6, IE8 (chế độ tương thích) và IE8 (chế độ bình thường) cũng như trong Firefox.

Một thứ khác trên trang web của bạn phải ảnh hưởng đến bố cục, vì vậy vui lòng đăng một ví dụ đầy đủ.

Đây là ví dụ đầy đủ mà tôi đã thử nghiệm.

<html> 
    <body> 
     <table border="1" cellspacing="0" cellpadding="0" style="width: 780px;"> 
      <tbody> 
      <tr> 
       <td style="width: 780px; height: 25px;"> 
       <pre width='100' style='width: 780px; word-wrap: break-word;'> 
        the data goes here..... 
       </pre>    
       </td> 
      </tr> 
      <tr> 
       <td style="width: 780px; height: 25px;"> 
       <pre width='100' style='width: 780px; word-wrap: break-word;'> 
        the data goes here..... 
       </pre>    
       </td> 
      </tr> 
      </tbody> 
     </table> 
    </body> 
</html> 
+0

thực sự bảng này được hình thành động tại backend bằng cách sử dụng PHP ... có headers.php, footers.php và content.php tạo thành trang này ... –

+0

Do đó tầm quan trọng của việc hiển thị cho chúng tôi toàn bộ trang để chúng tôi có thể tạo lại vấn đề. – Fenton

2

Bạn cũng có thể thử kiểu từ-ngắt: ngắt tất cả;

+0

tôi đã giải quyết được vấn đề của mình ... bằng câu trả lời ở trên .... và tôi sẽ cố gắng sử dụng quy tắc ngắt từ và kiểm tra xem liệu có hoạt động với tất cả các trình duyệt ... và cảm ơn u @Rodeo Ramsey ... –

+0

phong cách này phải được áp dụng ở đâu? cần xem ví dụ –

18

Sử dụng CSS dưới đây và điều này sẽ ngăn chặn bàn của bạn vượt quá kích thước tối đa bạn xác định:

table{ 
    table-layout:fixed; 
} 
+1

bố cục bảng không hoạt động đối với tôi, bằng cách thử đã thực hiện công việc. –

Các vấn đề liên quan