Я использую JQuery Masonry на своем веб-сайте, и он отлично работает на странице, за исключением того, что ячейки не очищаются после последнего. Вот код, который я использую:
<script type="text/javascript" src="scripts/jquery.masonry.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#pageMain').masonry({
// options
itemSelector : '.post'
});
});
</script>
<div id="pageMain">
<?php
<div class=\"section halfSection post\">
<div class=\"sectionInner\">
<img class=\"photo190\" src=\"content/news/$article_photo\" alt=\"\" />
<div class=\"cover190\"></div>
<div class=\"shadow190\"></div>
<div class=\"newsTitle\"><strong>$article_title</strong></div>
<div class=\"newsArticle\">$article_article ...<br><a class=\"newsLink\" href=\"article.php?id=$article_id\">Full Story</a></div>
</div>
</div>
{ x 20 }
?>
<div class="clearLeft"></div>
</div>
.post{
position: relative;
float: left;
}
.clearLeft{
clear: left;
}
Есть идеи, что может быть проблемой?
Вам не нужно их очищать, так как кладка устанавливает высоту своего контейнера в абсолютное значение PX в зависимости от высоты его содержимого. Элементы внутри расположены абсолютно, а не с поплавками. Такой ясный не имел бы никакого эффекта.
Просто разместите контент, который вы хотите по сетке после (за пределами) <div id="pageMain">
и вы должны быть в порядке :)
Если вы обнаружите, что они определенно плавают и должны быть очищены, я бы предположил, что кладка не была инициализирована. Проверьте наличие ошибок в консоли JS. Так как это хорошее поведение при #pageMain
, вы можете применить overflow: hidden
в CSS #pageMain
чтобы очистить его содержимое.