Cách tương thích chéo nhất mà tôi thấy khi làm việc này không rõ ràng lắm. Bạn cần loại bỏ float từ cột thứ hai, và áp dụng overflow:hidden
cho nó. Mặc dù điều này dường như sẽ che giấu bất kỳ nội dung nào bên ngoài div, nhưng nó thực sự buộc div phải ở trong cha mẹ của nó.
Sử dụng mã của bạn, đây là một ví dụ về cách có thể được thực hiện:
<div style="width: 100px; float: left;">menu</div>
<div style="overflow: hidden;">content</div>
Hy vọng điều này hữu ích cho bất kỳ ai gặp phải vấn đề này, đó là những gì tôi thấy hoạt động tốt nhất cho trang web tôi đang xây dựng, sau khi cố gắng làm cho nó phù hợp với các độ phân giải khác. Thật không may, điều này cũng không hoạt động nếu bạn bao gồm cả quyền được thả nổi div
sau nội dung, nếu có ai biết cách tốt để làm cho nó hoạt động, với khả năng tương thích IE tốt, tôi rất vui khi nghe nó.
Mới, tùy chọn tốt hơn bằng cách sử dụng display: flex;
Bây giờ, mô hình Flexbox được triển khai khá rộng rãi, tôi thực sự khuyên bạn nên sử dụng nó, vì nó cho phép tính flex
linh hoạt hơn nhiều với bố cục. Đây là một cột hai cột đơn giản như ban đầu:
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex: 1;">content</div>
</div>
Và đây là một cột ba cột với cột trung tâm có chiều rộng linh hoạt!
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex:1;">content</div>
<div style="width: 100px;">sidebar</div>
</div>