我的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;
}
因此,基本上,什么是最佳解决方案?
最佳答案
您需要从#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,
});
});