关闭边栏(ESC)打开边栏(ESC)

目 录

前些天小宇提醒了一下,他打算弄一个瀑布流的布局,问了我有没有css直接解决的方法,刚开始我就想到好像flex布局可以,不过亲手测试了一下,现实的瀑布流效果不是我原始想的那样,看了小宇网站才想起是这种布局。原来我还没有去弄过这些,于是决定亲自试下。刚开始搜了下CSS的方法,确实也能达到效果,只是排序不能从左到右排,而是从上到下了。实例作了,不满意便删除了,考虑用插件。过程中的一些问题记录下

纯CSS布局,直接粘网上搜的结果,自己写的实例删除了

注意break-inside那里,要写齐那几种格式,不然有些浏览器无法显示的。刚开始也是这里卡住。效果如下:

使用masonry插件实现瀑布流

html结构

相关js

相关CSS

用插件是挺简单的,经过以上的设置基本上就能成功显示了。更多实例与方法可以参考官网的文档,部分效果如下:

以下是使用插件的一些小结

做实例时,有这样的想法,鼠标经过卡片时,显示另一种样式,这是jq里其中的一种写法:

如本站的实例,右上角有个序号的,方便浏览使用,jq里的自动编号

瀑布流的翻页,如果不用AJAX确实问题少好多,但浏览效果不好,本站用的是AJAX加载的,这个处理起来进了好多次坑呀,因为没看官方的文档,一直测试加载布局都是乱的。原来文档里有提到AJAX加载的。

AJAX加载的效果:

昨晚一直在弄一个纯图片的瀑布流,做起来才发现,好难实现呀AJAX加载呀,因为图片我不想设定高度,让它自适应,这样瀑布流出来的效果高低不同才好看,只是AJAX加载时,用这个插件就无法做好,暂时没想到办法。要用AJAX加载的,一般都是有内容撑开盒子,不然就乱了。

修改:
刚刚再次看了文档了,发现对于图片的处理,是要加载一个js:imagesLoaded,这样子在ajax加载时,就能解决之前的布局混乱的问题。

wordpress自带有这个瀑布流的插件,只是版本不是最新的,一定要下载最新的,不然下面这个排序的属性不起作用

这二种结果是不是同的,如果要从左到右再重新从左到右的话,就要设:horizontalOrder: true。特别注意masonry.js的版本