Div + JQuery не очищается

0

Я использую 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;
}

Есть идеи, что может быть проблемой?

Теги:
jquery-masonry

1 ответ

0

Вам не нужно их очищать, так как кладка устанавливает высоту своего контейнера в абсолютное значение PX в зависимости от высоты его содержимого. Элементы внутри расположены абсолютно, а не с поплавками. Такой ясный не имел бы никакого эффекта.

Просто разместите контент, который вы хотите по сетке после (за пределами) <div id="pageMain"> и вы должны быть в порядке :)

Если вы обнаружите, что они определенно плавают и должны быть очищены, я бы предположил, что кладка не была инициализирована. Проверьте наличие ошибок в консоли JS. Так как это хорошее поведение при #pageMain, вы можете применить overflow: hidden в CSS #pageMain чтобы очистить его содержимое.

  • 0
    Я должен использовать clearLeft, потому что раздел также имеет класс с плавающей точкой. Вы говорите, что мой код должен работать нормально?
  • 0
    Спасибо, но я разобрал это сейчас - это может быть потому, что #mainPage тоже был перемещен влево, поэтому я поместил еще один div в #mainPage, и все снова работает нормально
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню