2010-10-05 34 views
5

Tôi muốn tạo một sơ đồ bằng cách sử dụng HTML. Tôi đã sử dụng một bảng với cố định với các cột. Mọi thứ đều tốt, nhưng nếu nội dung của ô quá dài, chiều rộng cột được mở rộng. Tôi muốn chiều rộng cột vẫn cố định, ngay cả khi một số nội dung bị ẩn.Các ô bảng HTML có kích thước cố định, ngay cả khi nội dung quá lớn?

Có cách nào để làm như vậy không?

+0

bản sao có thể có của [CSS: Cách đặt hằng số chiều rộng cột bảng bất kể số lượng văn bản trong các ô của nó?] (Http://stackoverflow.com/questions/4457506/css-how-to-set-the -table-column-width-constant-bất kể-of-the-số-of-văn bản) –

Trả lời

4

Ngoài câu trả lời @ barrylloyd, tôi muốn đề nghị cũng sử dụng:

td,th { 
    min-width: 3em; /* the normal 'fixed' width */ 
    width: 3em; /* the normal 'fixed' width */ 
    max-width: 3em; /* the normal 'fixed' width, to stop the cells expanding */ 
} 

Các min-width có thể là không cần thiết, nhưng nó bao gồm tất cả các căn cứ.

+0

Cảm ơn rất nhiều! Sự kết hợp của overflow: hidden và max-width: 1em đã làm các trick! – Noam

1

Làm thế nào về CSS để giải quyết nó:

td { overflow: hidden; } 

lẽ nên là đủ.

+0

Tôi không tin rằng 'td' tôn trọng thuộc tính' overflow'. – founddrama

7

Try ...

table {table-layout: fixed}

trong stylesheet của bạn.

Điều này buộc các trình duyệt để sử dụng các thuật toán bố trí bảng cố định ...

cố định bảng thuật toán bố trí:

  • Cách bố trí ngang chỉ phụ thuộc vào chiều rộng của bảng và độ rộng của các cột , không phải nội dung của các ô
  • Cho phép trình duyệt bố trí bảng nhanh hơn bố cục bảng tự động
  • Trình duyệt có thể bắt đầu hiển thị bảng khi fi hàng đầu tiên đã nhận được

(Xem http://www.w3schools.com/Css/pr_tab_table-layout.asp)

+0

Điều duy nhất tôi có thể thêm vào là văn bản vẫn có thể tràn 'td' (ví dụ, nếu bạn có một chuỗi siêu dài) và nếu * that * xảy ra thì bạn muốn xem xét việc gói nội dung' td' trong một 'div' với' overflow: auto' được đặt. – founddrama

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