我的页面上有一个脚本,它使用出色的 jQuery Masonry 插件将一堆框重新排列成像马赛克一样的 pinterest。我从页面底部(就在之前)这样调用框布局渲染方法:
<script type="text/javascript">
$(function() {
wall.drawBoxes();
});
</script>
我也使用这样的谷歌网络字体,就在标签之后:
<script type="text/javascript">
WebFontConfig = {
google: { families: [ 'Montserrat::latin' ] }
};
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
'://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
</script>
问题是这些框是在字体加载之前呈现的。并且当字体加载后,框的大小会增加,使渲染的马赛克布局看起来像废话。
我能做些什么来防止这种情况发生?