Chúng tôi đang sử dụng thuộc tính CSS table-layout: fixed
cho ứng dụng dành cho thiết bị di động của chúng tôi. (Tôi không nhớ lý do đầy đủ, nhưng tôi tin rằng nó phải làm với việc cho phép gói từ một số loại) ...bố cục bảng: vấn đề cố định với chiều rộng cột
Tôi đã gặp phải vấn đề mà chúng tôi cần phải định kích thước một trong hai cột bảng hai cột. Không phải là vấn đề lớn, thường chúng tôi làm điều này:
<table>
<tbody>
<tr>
<th width="20%">hello world</th>
<td>hello world</td>
</tr>
</tbody>
</table>
Điều đó có hiệu quả.
Tuy nhiên, nếu chúng ta cần phải tạo ra một hàng kéo dài cả hai cột TRƯỚC này:
<table>
<tbody>
<tr>
<td colspan="2">hello world</th>
</tr>
<tr>
<th width="20%">hello world</th>
<td>hello world</td>
</tr>
</tbody>
</table>
gì xảy ra, ít nhất là trong Chrome, đó là hai cột chụp tới 50% độ rộng. Tôi có mẫu jsbin tại đây:
Đây có phải là hành vi bình thường không? Lỗi Chrome? Một cách để giải quyết vấn đề này?
Xin lỗi xuất hiện dày đặc, nhưng là giải pháp cho * not * sử dụng bố cục bảng: cố định? Hay để sử dụng col và colgroup ngoài bảng bố trí: cố định nếu cố định "từ gói"? (TBH Tôi không biết tại sao bảng bố trí sẽ được sử dụng ở tất cả trong ví dụ này và chỉ cần loại bỏ nó sẽ giải quyết vấn đề? – MrWhite
' table-layout: fixed' có thể cần thiết cho việc phá vỡ các từ dài (xem http://jsbin.com/utifiy/2/edit) Nói chung, nếu bạn cần điều khiển bố trí chính xác, giá trị 'fixed' sẽ cho bạn biết rằng trong khi mặc định có nhiều phép thuật hơn: nhưng bạn cần phải thay thế kích thước ma thuật đó h * một cái gì đó * - vì vậy đó là lý do tại sao bạn cần phải kích thước rõ ràng thông số phần tử ** hàng đầu tiên ** hoặc 'col'. Vấn đề của OP là nếu hàng đầu tiên có các ô trải rộng các cột, bạn * không thể * khai báo kích thước của các cột trên các ô, vì vậy giải pháp là sử dụng kích thước dựa trên 'col'. –