Tôi muốn có bố cục bao gồm ba div liền kề. Các div bên có chiều rộng tĩnh (nó có thể thay đổi qua javascript) và div trung tâm lấp đầy một vùng còn lại. Khi kích thước của div đầu tiên thay đổi nó chỉ ảnh hưởng đến trung tâm. Nó tương tự như bảng (với kết xuất động) bao gồm ba cột.3 cột, giữa một cột có chiều rộng linh hoạt
Ok, nhưng vấn đề ở đâu. Vấn đề là nếu tôi đặt div thả nổi bên trái vào cột đầu tiên và chặn div trong cột thứ hai và thứ ba, khối div hoạt động theo cách lạ. Chúng được hiển thị trong cột của chúng bên dưới div nổi từ cột đầu tiên.
Ví dụ. Trong cột đầu tiên và thứ hai tôi có div nổi và khối div trong cột thứ ba. Khối div được dịch chuyển xuống xung quanh chiều cao của các div nổi. Div trong cột trung tâm không được dịch chuyển ở vị trí y của mình mà chỉ có thuộc tính float bên trái.
Tôi muốn mỗi div trong ba bố cục độc lập với nhau. Tôi không có ý tưởng tại sao các phần tử trong cột thứ ba nổi div trong hai cột đầu tiên (với thuộc tính float).
Mã sản phẩm:
<div style="margin: auto; display: table; width: 260px;">
<div style="display: table-row;">
<div style="display: table-cell; width: 100px;">
<div style="float: left; width: 40px; height: 50px;">COL1</div>
</div>
<div style="display: table-cell;">
<div style="float: left; height: 50px; width: 40px;">COL2</div>
</div style="display: table-cell; width: 100px;">
<div class="sideContainer">
<div>COL3</div>
</div>
</div>
</div>
và kết quả: result
Làm thế nào để khắc phục điều đó. Làm thế nào để làm cho tất cả các bố trí divs (cột) được độc lập với nhau. Bất kỳ ý tưởng?
Bạn có thuộc tính khi đóng e tab: ' div style = ...>' – arnaud576875
Đó là lỗi của tôi. Kiểu trên tab đóng nên thay vì 'class =' sideContainer '; Đó là những gì được hiển thị trong liên kết kết quả –
Nhưng, tôi nghĩ rằng tôi hiểu tại sao nó hoạt động theo cách đó. Vì vậy, ví dụ: div nổi trong div bố trí trung tâm là con đầu tiên của cha mẹ của nó. Vì vậy, nếu nó có float attribut, nhưng không có gì để trôi nổi bên trái của mình, nó nổi cha mẹ trước anh chị em của bạn (đầu tiên bố trí div). Để giải quyết điều này tôi cần phải chèn một cái gì đó (tức là div với chiều rộng bằng 0) ở phía trước của div nổi. Hoặc nếu tôi có hai floating div, cái đầu tiên phải là float: none và display: inline. –