Jae*_*Lee 4 css jquery-masonry
我正试图将一个砌筑容器放在页面上.此刻,它与左侧对齐.我的CSS中有margin auto,而JS中的isFitWidth:true,但似乎都没有做任何事情.我也尝试在我的CSS中放置display:block.
这是HTML;
<div id="masonry_container" class="group">
<div class="masonry_item">
<a href="http://storyville.jonmarkoff.com/storyvillewp"target="_blank">
<img src="images/storyville_home.png" alt="Storyville Entertainment"/>
<h3>Storyville Entertainment</h3></a>
</div><!--masonry_item-->
<div class="masonry_item">
<a href="http://www.ducklingfarm.com"target="_blank">
<img src="images/udof_home.jpg" alt="Ugly Duckling Organic Farm"/>
<h3>Ugly Duckling Organic Farm</h3></a>
</div> <!--masonry_item-->
<div class="masonry_item">
<a href="http://www.underdonk.com"target="_blank">
<img src="images/underdonk_home.png" alt="underdonk"/>
<h3>Underdonk</h3></a>
</div> <!--masonry_item-->
<div class="masonry_item">
<a href="http://www.jaeeunlee.com" target="_blank">
<img src="images/jaeeunlee_home.png" alt="jaeeunlee"/>
<h3>www.jaeeunlee.com</h3></a>
</div> <!--masonry_item-->
<div class="masonry_item">
<img src="images/goindoor_hospitals.png" alt="goindoor"/>
<h3>Goindoor</h3>
</div> <!--masonry_item-->
<div class="masonry_item">
<img src="images/cakes_home.jpg" alt="wonderfully whimsical cakes"/>
<h3>Wonderfully Whimsical Cakes</h3>
</div> <!--masonry_item-->
</div><!--#masonry_container .group-->
Run Code Online (Sandbox Code Playgroud)
CSS;
.group {
display: inline-block;
clear:both;
}
.group:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
#masonry_container {
margin:50px auto;
width:100%;
position:relative;
z-index:2001;
}
.masonry_item {
width:300px;
margin:0 0 20px 0px;
padding:20px;
}
.masonry_item:hover{
outline:1px solid white;
}
#masonry_container img {
width:100%;
}
Run Code Online (Sandbox Code Playgroud)
和JS;
var container = document.querySelector('#masonry_container');
var msnry = new Masonry( container, {
// options
isFitWidth: true,
itemSelector: '.masonry_item'
});
Run Code Online (Sandbox Code Playgroud)
我很感激你的帮助!
我今天试图为自己解决这个问题,并认为我会分享一个可能的解决方案.
根据Masonry自己的选项页面"isFitWidth": true似乎是关键
http://masonry.desandro.com/options.html#isfitwidth
这是他们的codepen示例..
http://codepen.io/desandro/pen/nGLvx
这是我的简化和裸骨方法..
小提琴
https://jsfiddle.net/Hastig/xtw113wx/2/ - 代码播放
https://jsfiddle.net/Hastig/xtw113wx/2/embedded/result/ - 全屏
HTML
<div class="masonry-container js-masonry" data-masonry-options='{ "isFitWidth": true }'>
<div class="image-div">
<img class="image" src="" style="width: 200px; height: 100px;">
</div>
<!-- ..lots more divs in jsfiddle.. -->
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.masonry-container {
margin: 0 auto; /* this is the css that keeps the container centered in page */
}
.image-div {
float: left;
width: 230px;
margin: 5px;
font-size: 0;
}
.image {
width: 230px;
height: auto;
}
Run Code Online (Sandbox Code Playgroud)
在 css 中试试这个:
.masonry_item {
width:300px;
margin:0 auto 20px auto;
padding:20px;
}
Run Code Online (Sandbox Code Playgroud)
编辑
我第一次没读正确。如果要将实际容器居中,则需要为容器设置固定大小而不是 100%。也许 500 像素。然后从 .group 类中删除 display: inline-block 。应该可以做到这一点。