Tại sao nó không làm việc
fitColumns
là một "bố trí theo chiều ngang", vì vậy nó có ý định đi tắt sang một bên thay vì lên xuống - tương tự như một trò chơi phụ cuộn. Với thiết kế của họ, bố trí ngang đòi hỏi phải có thuộc tính chiều cao, như ghi nhận ở đây: http://isotope.metafizzy.co/layout-modes.html#horizontal-layouts
tĩnh Giải pháp
tôi muốn lấp đầy chiều rộng của thùng chứa với tuy nhiên nhiều cột phù hợp, và tôi muốn nó chiếm nhiều không gian theo chiều dọc cần thiết.
Bạn muốn sử dụng masonry
thay vì fitColumns
. Đặt columnWidth
sẽ cho phép bạn lấp đầy chiều rộng của vùng chứa và sử dụng nhiều không gian dọc nếu cần. Ví dụ: http://jsfiddle.net/cUcFd/22/
$('#container').isotope({
itemSelector : '.block',
// layoutMode: 'fitColumns',
layoutMode: 'masonry',
masonry: {
columnWidth: 100
}
});
động Giải pháp
Giả sử bạn không biết độ rộng của các cột của bạn và muốn tìm nó tự động, bạn có thể căn cứ nó ra khỏi yếu tố rộng nhất trong #container
sử dụng một cái gì đó như mã được cung cấp ở đây: https://stackoverflow.com/a/8853777/1786459
Ví dụ: http://jsfiddle.net/cUcFd/24/
var column_width = Math.max.apply(null,$('#container .block').map(function(){return $(this).outerWidth(true);}).get());
Tuy nhiên, bạn sẽ quyết định phương pháp thích hợp nhất để đặt chiều rộng cột.
Nguồn
2014-02-03 16:14:20
OP, bạn đã tìm thấy giải pháp nào chưa? –