2012-06-01 32 views
11

Tôi đang tìm một cách để CSS (3) có thể tự động điều chỉnh chiều rộng của div trung tâm container giữa một div float:leftfloat:right div.Vùng chứa tự động CSS giữa float: left & float: right divs

Div trung tâm cũng cần có bộ min-width, tương tự như google + -> nhà nơi nội dung trung tâm được tự động trang bị giữa các nút điều hướng bên trái và ngăn trò chuyện phù hợp. Sau đó, khi chiều rộng màn hình co lại qua một điểm nhất định (được phát hiện bằng javascript), ngăn trò chuyện thu nhỏ để tiết kiệm dung lượng.

Dưới đây là một hoạt động mock-up để làm cho công việc: http://jsfiddle.net/9vrby/

Ngoài ra, đây là mã css Tôi đang sử dụng hiện nay:

#left{ float:left; width:200px; height:400px; border:1px solid #000; } 

#center{ float:left; width:auto; height:400px; border:1px solid red; } 

#right{ float:right; width:100px; height:400px; border:1px solid blue; } 

Xin vui lòng cho tôi biết nếu bạn cần thêm thông tin, và cảm ơn trước sự giúp đỡ.

+0

Vâng, tôi đã đưa ra một phiên bản jquery khá xấu. http://jsfiddle.net/9vrby/3/ đó là loại hút (nó không phải là chất lỏng) và như vậy. nhưng có lẽ ai đó có thể xây dựng từ nó. –

Trả lời

22

Trên #center, hãy thả float: left và thêm overflow: hidden. Ngoài ra, #center cần được di chuyển để cuối cùng trong HTML.

http://jsfiddle.net/thirtydot/9vrby/14/

này hoạt động trong tất cả các trình duyệt hiện đại và thậm chí IE7.

+0

giải pháp tốt đẹp và nó hoạt động tốt với trang web thực sự của tôi. – sadmicrowave

4

Một mẹo không được sử dụng phao nhưng hiển thị: ô bảng.

http://jsfiddle.net/9vrby/8/

HTML:

<div id='left'></div> 
<div id='center'></div> 
<div id='right'></div> 

CSS:

#left{ display:table-cell; min-width:200px; height:400px; border:1px solid #000; } 
#center{ display:table-cell; min-width:200px; width:100%; height:400px; border:1px solid red; } 
#right{ display:table-cell; min-width:100px; height:400px; border:1px solid blue; } 

Hãy coi chừng, mặc dù phương pháp này không làm việc trong IE7 (và dưới đây, nhưng người vẫn hỗ trợ mà tào lao phải không?). Nhưng có lẽ bạn có thể xem CSS3Pie cho phép bạn sử dụng CSS (3) cho các trình duyệt chính thức không hỗ trợ nó, như IE7. Vì vậy, có lẽ hiển thị: ô bảng sẽ hoạt động tốt.

+0

CSS3 PIE sẽ không trợ giúp với 'display: table' trong IE7. Có một sửa lỗi JavaScript mặc dù: http://tanalin.com/en/projects/display-table-htc/ – thirtydot

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