2011-08-10 37 views
10

Tôi có một dự án yêu cầu bảng bao gồm cả cột có chiều rộng cố định và chiều rộng linh hoạt.Bố cục bảng: cố định bỏ qua chiều rộng tối thiểu của td

Một số cột cần phải rộng 80px luôn, bất kể chiều rộng của trình duyệt là bao nhiêu.

Phần còn lại của các cột cần phải có chiều rộng linh hoạt, nhưng tất cả đều có chiều rộng bằng nhau, với chiều rộng tối thiểu là 75px;

Bằng cách thêm bố cục bảng: cố định; đến bảng Tôi có thể nhận được các cột có chiều rộng linh hoạt cho tất cả đều có chiều rộng bằng nhau, BUT thì bảng bỏ qua thuộc tính chiều rộng tối thiểu của td.

Nếu tôi xóa bố cục bảng: cố định, chiều rộng tối thiểu hoạt động nhưng các chiều rộng linh hoạt đều có chiều rộng khác nhau (dựa trên độ dài của văn bản mà chúng chứa).

Số lượng cột khác nhau dựa trên dữ liệu được lấy từ db.

Tôi đã đưa một ví dụ về bảng với bàn bố trí: cố định và min-width trên jsfiddle: http://jsfiddle.net/7d2Uj/

Bất kỳ ý tưởng làm thế nào để có được min-width để làm việc trong tình huống này, hay tại sao điều này xảy ra ?

Trả lời

2

Bạn cần sử dụng width, không phải min-width cho các cột có chiều rộng cố định và bạn nên đặt chiều rộng của các cột còn lại thành phần trăm dựa trên số cột. Trong trường hợp của bạn, bạn có 6 cột, vì vậy tôi đặt nó thành 16.66%.

dụ làm việc: http://jsfiddle.net/6vw66/

+0

Xin chào, cảm ơn câu trả lời của bạn. Tôi đã sử dụng cả chiều rộng và chiều rộng tối thiểu vì nó ngăn không cho col bị sụp đổ khi tôi thu hẹp cửa sổ trình duyệt trước khi tôi đặt bố cục bảng: cố định. Tôi đã cố gắng lấy chiều rộng tối thiểu và chỉ để lại chiều rộng, nhưng dường như không thay đổi gì cả. Thật không may là số lượng cột thay đổi tùy thuộc vào dữ liệu từ db, vì vậy tôi không thể tính toán chiều rộng dưới dạng% trong một css tĩnh. Viết này tôi bây giờ nhận ra một lựa chọn có thể được để tự động xây dựng css thông qua PHP dựa trên col num mà tôi đã không nghĩ đến trước đây. Có lẽ đó là những gì tôi sẽ cần phải làm. – salonMonsters

+1

Kết quả cuối cùng là tôi đã tạo quy tắc css được tạo động để đặt tỷ lệ phần trăm chiều rộng trên mỗi cột chiều rộng linh hoạt, tùy thuộc vào tổng số cột. Không lý tưởng, nhưng nó hoạt động. – salonMonsters

11

workaround của tôi cho điều này là để siết chặt bàn đến nơi cột gần như trùng nhau, kiểm tra độ rộng bảng tại thời điểm đó, và thiết lập min-width của <table> yếu tố chính để giá trị đó . Kỹ thuật này cũng hữu ích nếu bạn có bố trí cố định với một cột có thể mở rộng vì nếu không thì cột mở rộng sẽ biến mất hoàn toàn khi cửa sổ co lại.

Ví dụ: http://jsfiddle.net/KTCfs/

+0

Tuyệt vời, cảm ơn! – RockyMM

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