砌体仅在 window 调整大小后才能正常工作
masonry only works properly after window resize
当图像加载到项目部分时,masonry 会将其重叠到下一个部分。当您调整 window 的大小并返回时,它看起来很好 - 就像它在我的 XAMPP 网站上所做的那样。
下面的 HTML 代码用于包含砌体部分的项目部分(未使用 JS 进行砌体)。我正在使用 Wordpress & Zurb Foundation(基于名为 FoundationPress 的模板。)我也在使用 Masonry 和 Foundation 的块网格。
<div id="projects-section" class="row">
<h1 id="projects">PROJECTS</h1>
<div id="projects-divider"></div>
<div class="small-12 columns" role="main">
<div id="container" class="js-masonry" data-masonry-options='{ "itemSelector": ".item" }'>
<?php do_action( 'foundationpress_before_content' ); ?>
<ul class="small-block-grid-1 medium-block-grid-2 large-block-grid-3">
<?php
$args = array('cat' => 'uncategorized',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
'caller_gets_posts' => 1
);
$category_posts = new WP_Query($args);
if($category_posts->have_posts()) :
while($category_posts->have_posts()) :
$category_posts->the_post();
?>
<li class="item">
<div class="post-thumbnail">
<a href="<?php the_permalink();?>"><?php if(has_post_thumbnail()){the_post_thumbnail();} ?></a>
</div>
<h2><?php the_title() ?></h2>
<div class='post-content'><?php the_content() ?></div>
<div class="post-divider"></div>
</li>
<?php
endwhile;
else:
?>
Oops, there are no posts.
<?php
endif;
?>
</ul>
<?php do_action( 'foundationpress_after_content' ); ?>
</div>
</div>
我不确定为什么网站上线后它的行为会有所不同。任何帮助都会很棒。如果我需要 post 更多代码,也请告诉我。谢谢!
听起来像您所描述的一个非常常见的问题是,Masonry 设置了您的元素,但您的图像尚未加载。
Masonry 文档建议使用 imagesLoaded()
。
http://masonry.desandro.com/appendix.html
var container = document.querySelector('#container');
var msnry;
// initialize Masonry after all images have loaded
imagesLoaded( container, function() {
msnry = new Masonry( container );
});
当图像加载到项目部分时,masonry 会将其重叠到下一个部分。当您调整 window 的大小并返回时,它看起来很好 - 就像它在我的 XAMPP 网站上所做的那样。
下面的 HTML 代码用于包含砌体部分的项目部分(未使用 JS 进行砌体)。我正在使用 Wordpress & Zurb Foundation(基于名为 FoundationPress 的模板。)我也在使用 Masonry 和 Foundation 的块网格。
<div id="projects-section" class="row">
<h1 id="projects">PROJECTS</h1>
<div id="projects-divider"></div>
<div class="small-12 columns" role="main">
<div id="container" class="js-masonry" data-masonry-options='{ "itemSelector": ".item" }'>
<?php do_action( 'foundationpress_before_content' ); ?>
<ul class="small-block-grid-1 medium-block-grid-2 large-block-grid-3">
<?php
$args = array('cat' => 'uncategorized',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
'caller_gets_posts' => 1
);
$category_posts = new WP_Query($args);
if($category_posts->have_posts()) :
while($category_posts->have_posts()) :
$category_posts->the_post();
?>
<li class="item">
<div class="post-thumbnail">
<a href="<?php the_permalink();?>"><?php if(has_post_thumbnail()){the_post_thumbnail();} ?></a>
</div>
<h2><?php the_title() ?></h2>
<div class='post-content'><?php the_content() ?></div>
<div class="post-divider"></div>
</li>
<?php
endwhile;
else:
?>
Oops, there are no posts.
<?php
endif;
?>
</ul>
<?php do_action( 'foundationpress_after_content' ); ?>
</div>
</div>
我不确定为什么网站上线后它的行为会有所不同。任何帮助都会很棒。如果我需要 post 更多代码,也请告诉我。谢谢!
听起来像您所描述的一个非常常见的问题是,Masonry 设置了您的元素,但您的图像尚未加载。
Masonry 文档建议使用 imagesLoaded()
。
http://masonry.desandro.com/appendix.html
var container = document.querySelector('#container');
var msnry;
// initialize Masonry after all images have loaded
imagesLoaded( container, function() {
msnry = new Masonry( container );
});