Я много играл с этим и использовал Masonry для множества проектов. Я в тупике.
У меня вмещающий элемент CSS установлен на:
#content.video-grid {
margin: 0 auto;
overflow: hidden;
}
С каждым кирпичиком, указанным в этом CSS:
.grid-block {
float: left;
height: 220px;
width: 240px;
overflow: hidden;
padding: 0 0 20px 0;
}
И масонство называется так:
jQuery('#content.video-grid').masonry({
itemSelector : '.grid-block',
columnWidth : 240,
isAnimated: true,
isFitWidth: true,
gutterWidth: 2
});
Это должно привести к отсутствию "перемешивания" блоков после загрузки страницы, но по какой-то причине он ожидает, пока все не загрузится, а затем применяет ширину к содержащему элементу, как предписано isFitWidth.
Здесь это не работает:
http://dev.massmarket.tv/work/all/
Вот та же самая рабочая реализация:
http://www.caviarcontent.com/los-angeles/
Так что должно быть что-то, что заставляет масонства опаздывать, но я не смог понять это. Просто чтобы было ясно, я хочу, чтобы Masonry запускался ДО загрузки изображений, чтобы кирпичи находились в правильном месте перед загрузкой изображений.
Спасибо!