Tôi có một vài thẻ DIV với số lượng nội dung văn bản khác nhau.Làm cách nào để giữ nhiều DIV cùng chiều cao bằng jQuery?
HTML:
<div id="boxes">
<div id="boxone">
<p>...</p>
</div>
<div id="boxtwo">
<p>...</p>
</div>
<div id="boxthree">
<p>...</p>
</div>
<div id="boxfour">
<p>...</p>
</div>
</div>
Họ đang ở trong một hai-by-hai bố trí và chiều rộng của họ là chất lỏng:
CSS:
div#boxes {
width: 100%;
}
div#boxes div {
width: 49.9%;
float: left;
}
Tôi muốn tất cả chúng cùng một chiều cao .
Vì vậy, tôi lặp qua chúng và tìm chiều cao của hình ảnh cao nhất. Sau đó, tôi lặp lại một lần nữa và đặt tất cả chúng đến độ cao đó.
jQuery:
$(function() {
var maxHeight = 0;
$('div#boxes div').each(function(){
if (maxHeight < $(this).height()) {maxHeight = $(this).height()}
});
$('div#boxes div').each(function(){
$(this).height(maxHeight);
});
});
này hoạt động tốt nếu chiều cao của div không cần phải thay đổi một lần nữa.
Nhưng, nó không thành công nếu tôi thay đổi kích thước cửa sổ trình duyệt:
Nếu I (a) làm cho trình duyệt rộng hơn, sau đó (b) DIV tôi có được rộng lớn hơn, sau đó (c) văn bản của họ nội dung kết thúc tốt hơn ít lần hơn, và sau đó (d) các DIV của tôi quá cao.
Nếu I (b) làm cho trình duyệt hẹp hơn, sau đó (b) DIV tôi có được hẹp hơn, sau đó (c) nội dung văn bản của họ kết thúc tốt đẹp hơn, và sau đó (d) DIV của tôi là quá ngắn.
Làm cách nào để cả hai (1) kích thước tự động DIV với chiều cao của nội dung như bình thường, nhưng cũng (2) giữ nhiều DIV đó có cùng chiều cao?
maxHeight luôn giống nhau mỗi khi adjustBoxHeights() thực thi. Chiều cao DIV không bao giờ được phép thay đổi về chiều cao tự nhiên/tự động của chúng. –
Làm cách nào để xóa kiểu chiều cao khỏi DIV bằng jQuery? http://stackoverflow.com/questions/804161/how-do-i-remove-the-height-style-from-a-div-using-jquery –
$ (lựa chọn) .height ('auto') dường như để làm việc ngoài $ (lựa chọn) .css ('height', 'auto') trong ví dụ trên. – RwwL