Ответ 1
Ответ был далее обсужден и решен здесь: https://github.com/desandro/masonry/issues/405
При использовании bootstrap 3 и Desandro Masonry я застрял в странной проблеме, в которой кажется, что после вызова масонства добавляется дополнительный 10px ширину моих изображений, в результате чего кладка переходит от желаемых 3 столбцов к 2 (но все еще работает правильно в 2). Мое лучшее предположение заключается в том, что это должно иметь какое-то отношение к новому классу Bootstrap.img-responsive.
Вы можете посмотреть здесь: http://jsfiddle.net/68qxE/2/ (просто не забудьте расширить ширину результата), но если вы предпочитаете:
Вот мой HTML:
<div class="container">
<div class="post-box col-lg-4 col-md-4 col-sm-4">
<a href="/posts/1"><img class="img-responsive img-thumbnail" src="http://s3.amazonaws.com/s3.babblin.gs/posts/images/000/000/260/large/tumblr_msnl3ayMxU1rsnzy2o5_1280.jpg" /></a>
</div>
<div class="post-box col-lg-4 col-md-4 col-sm-4">
<a href="/posts/2"><img class="img-responsive img-thumbnail" src="http://s3.amazonaws.com/s3.babblin.gs/posts/images/000/000/257/large/24ekOAH.jpg" /></a>
</div>
<div class="post-box col-lg-4 col-md-4 col-sm-4">
<a href="/posts/3"><img class="img-responsive img-thumbnail" src="http://s3.amazonaws.com/s3.babblin.gs/posts/images/000/000/248/large/tumblr_mqeom2a2oU1qbltjyo2_1280.jpg" /></a>
</div>
<div class="post-box col-lg-4 col-md-4 col-sm-4">
<a href="/posts/4"><img class="img-responsive img-thumbnail" src="http://s3.amazonaws.com/s3.babblin.gs/posts/images/000/000/244/large/3CjBFlN.jpg" /></a>
</div>
<div class="post-box col-lg-4 col-md-4 col-sm-4">
<a href="/posts/5"><img class="img-responsive img-thumbnail" src="http://s3.amazonaws.com/s3.babblin.gs/posts/images/000/000/241/large/OoRsR42.gif" /></a>
</div>
</div>
Вот мой Javascript:
$(document).ready(function(){
var $container = $('.container');
$container.imagesLoaded( function() {
$container.masonry({
itemSelector : '.post-box',
columnWidth : '.post-box',
transitionDuration : 0
});
});
});
И вот мой CSS:
.img-thumbnail {
padding: 10px;
}
.post-box {
margin: 15px 0 15px 0;
}
Теперь, когда страница изначально загружена, и до того, как какой-либо из javascript имеет место, ширина col-lg-4 составляет 350 пикселей. Но как только вызывается javascript, ширина col-lg-4 скачет до 360 пикселей, что, по моему мнению, является причиной того, что это происходит от трехколоночного макета до макета с двумя столбцами.
Ответ был далее обсужден и решен здесь: https://github.com/desandro/masonry/issues/405
Я не думаю, что это вызвано образами imagesLoaded. Проблема в том, что на .container
есть дополнение.
Почему бы вам просто reset, чтобы 0?
.container {
padding: 0px;
}