为什么我的JQuery Masonry网格与我的标题重叠?

时间:2013-11-08 16:48:04

标签: jquery html css jquery-masonry

我的JQuery Masonry网格与我的标题重叠。

<div name="top" id="container">
    <h2>Title</h2>
    <div class="item">
        <h3>1</h3>
        <p></p>
    </div>
    <div class="item">
        <h3>2</h3>
        <p></p>
        <p></p>
    </div>
    <div class="item">
        <h3>3</h3>
        <p></p>
    </div>
    <div class="item">
        <h3>4</h3>
        <p></p>
        <p></p>
    </div>
    <div class="item">
        <h3>5</h3>
        <p></p>
    </div>
</div>

我的CSS:

#container {
position:relative;
left:28%;
width:69%;
}

.item {
width:200px;
float:left;
background: #fff;
}

在头部:

<!--Jquery functions-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="<?php bloginfo('template_url'); ?>/jquery.masonry.min.js"></script>
<script type="text/javascript">    // This block will be put in a separate file later on (JQuery.js)
$(document).ready(function() {
   var $container = $('#container');            
   //$container.imagesLoaded(function(){                    
      $container.masonry({
         itemSelector: '.item',
         isAnimated: true,
      });
   //});
});
</script>
// ...
<?php wp_head(); ?>
</head>

我应该总是把标题放在div之前吗?像这样:

<h2>Title</h2>
<div name="top" id="container">

或者我在CSS中遗漏了我的标题?

h2 {
color:#751D24;
font:5em 'open sans', sans-serif;
font-weight:bold;
letter-spacing:-.05em;
line-height:.5em;
margin:3.5% 0 2%;
text-shadow:1px 1px 1px #fff;
}

基本上,什么是最好的解决方案?

1 个答案:

答案 0 :(得分:2)

您需要从#container中取出标题,因为Masonry插件绝对会将.item元素放在您指定的容器中。

您可以像这样更改代码:

<强> HTML

<div name="top" id="container">
    <h2>Title</h2>

    <div id="masonry-container">
        <div class="item">
            <h3>1</h3>
            <p>text</p>
        </div>
    </div>
</div>

<强> JQuery的

var $container = $('#masonry-container');            
$container.imagesLoaded(function(){                    
    $container.masonry({
       itemSelector: '.item',
       isAnimated: true,
    });
});