通过 Multi-columns 相关的属性 column-countcolumn-gap 配合 break-inside 来实现瀑布流布局。

首先对包裹图片的盒子增加样式,column-count 表示瀑布流列的数量;column-gap 表示瀑布流列的间隔

.img-container {
  -moz-column-count:3; /* Firefox */
  -webkit-column-count:3; /* Safari 和 Chrome */
  column-count:3;
  -moz-column-gap: 18px;
  -webkit-column-gap: 18px;
  column-gap: 18px;
  display:inline-block;
}

接着设置瀑布流的宽度、行的间距以及瀑布高度不够时的断点:

.img {
width: 240px;
height: auto;
margin-bottom: 8px;
-moz-page-break-inside: avoid;
-webkit-column-break-inside: avoid;
break-inside: avoid;
}

最后别忘记通过媒体监听来进行瀑布流的响应式处理:

@media screen and (max-width: 1024px) {
.img-container {
-moz-column-count:2 !important; /* Firefox */
-webkit-column-count:2 !important; /* Safari 和 Chrome */
column-count:2 !important;
}
} @media screen and (max-width: 768px) {
.img-container {
-moz-column-gap: 8px !important;
-webkit-column-gap: 8px !important;
column-gap: 8px !important;
}
}

最终效果如下图:


* 由于这种方法只能实现纵向的排序方式,一般应用于少量的图片展示。如果是需要滚动刷新那样大量数据的应用场景,对用户来说这样的体验是很不好的,需要通过JS实现左至右排序的瀑布流布局。

- END -

最新文章

  1. asp.net创建事务的方法
  2. 写给喜欢用Block的朋友(ios Block)
  3. JPA学习---第九节:JPA中的一对多双向关联与级联操作
  4. linux安装gcc的一些问题。
  5. SHOI2008小约翰的游戏John
  6. python的相对路径导入问题
  7. poj1637
  8. 在web浏览器中判断app是否安装并直接打开
  9. git和SVN的区别
  10. JavaScript中的ASCII碼轉換成字符的兩種方法
  11. mac 环境下 Quantlib 使用Swig 转换到java
  12. PTA常见错误
  13. 使用react全家桶制作博客后台管理系统
  14. Python字符串的相关操作
  15. RoR - Restful Actions
  16. LAB6 SOAP
  17. 去掉vim的BELL提示音
  18. LibreOJ #6014. 「网络流 24 题」最长 k 可重区间集
  19. 【转】字符编码笔记:ASCII、Unicode、UTF-8 和 Base64
  20. as2 删除层级影片问题

热门文章

  1. Mybatis学习笔记-动态SQL
  2. rot位移密码详解(rot5、rot13、rot18、rot47)
  3. 0基础学小程序----day1
  4. 阿里云云服务器 ECS和云数据库 PolarDB的简单使用
  5. Java中的形式参数和实际参数
  6. idea注释
  7. iOS开发之Lame编译
  8. Redis实现分布式锁那件事
  9. Lab: 2FA bypass using a brute-force attack:暴力破解双重验证靶场复盘(困难级别)
  10. HBuilder mui 手机app开发 Android手机app开发 ios手机app开发 打开新页面 预加载页面 关闭页面