用CSS3实现瀑布流布局的示例代码


Posted in HTML / CSS onNovember 10, 2017

以前使用瀑布流都要用js,现在有了css3,可以轻松实现了。

掌握点:

1、column-count 把div中的文本分为多少列

2、column-width 规定列宽

3、column-gap 规定列间隙

4、break-inside: avoid; 避免元素内部断行并产生新列

注意: Internet Explorer 9及更早 IE 版本浏览器不支持 column-count 属性。

column-count 属性规定元素应该被分隔的列数:

div
{
-moz-column-count:3;  /* Firefox */
-webkit-column-count:3; /* Safari 和 Chrome */
column-count:3;
}

column-gap 属性规定列之间的间隔:

div
{
-moz-column-gap:40px;  /* Firefox */
-webkit-column-gap:40px; /* Safari 和 Chrome */
column-gap:40px;
}

column-rule 属性设置列之间的宽度、样式和颜色规则:

div
{
-moz-column-rule:3px outset #ff0000; /* Firefox */
-webkit-column-rule:3px outset #ff0000; /* Safari and Chrome */
column-rule:3px outset #ff0000;
}

实例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS3瀑布流</title>
    <style>
    /*大层*/
    .container{width:80%;margin: 0 auto;}
    /*瀑布流层*/
    .waterfall{
        -moz-column-count:4; /* Firefox */
        -webkit-column-count:4; /* Safari 和 Chrome */
        column-count:4;
        -moz-column-gap: 1em;
      -webkit-column-gap: 1em;
      column-gap: 1em;
    }
    /*一个内容层*/
    .item{
      padding: 1em;
      margin: 0 0 1em 0;
      -moz-page-break-inside: avoid;
      -webkit-column-break-inside: avoid;
      break-inside: avoid;
     border: 1px solid #000;
    }
    .item img{
        width: 100%;
        margin-bottom:10px;
    }
    </style>
</head>
<body>
    <div class="container">
        <div class="waterfall">
            <div class="item">
                <img src="https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=f3d4063328738bd4d02cba63c0e2ecb3/a2cc7cd98d1001e910616de1be0e7bec55e797fa.jpg">
                <p>1 convallis timestamp</p>
           </div>



            <div class="item">
                <img src="https://imgsa.baidu.com/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=03948ea9b4315c60579863bdecd8a076/8326cffc1e178a825a6b5d1cfe03738da977e833.jpg">
                <p>2 convallis timestamp 2 Donec a fermentum nisi. </p>
           </div>




            <div class="item">
                <img src="https://imgsa.baidu.com/baike/c0%3Dbaike80%2C5%2C5%2C80%2C26/sign=3d645bf2d0ca7bcb6976cf7ddf600006/6d81800a19d8bc3efe5f64fb858ba61ea8d345af.jpg">
                <p>3 Nullam eget lectus augue. Donec eu sem sit amet ligula 
        faucibus suscipit. Suspendisse rutrum turpis quis nunc 
        convallis quis aliquam mauris suscipit.</p>
           </div>



            <div class="item">
                <img src="https://imgsa.baidu.com/baike/c0%3Dbaike180%2C5%2C5%2C180%2C60/sign=fbc3501b0a087bf469e15fbb93ba3c49/bf096b63f6246b60ea65dd24e3f81a4c510fa273.jpg">
                <p> 4 Donec a fermentum nisi. Integer dolor est, commodo ut 
        sagittis vitae, egestas at augue. </p>
           </div>

  <div class="item">
                <img src="https://imgsa.baidu.com/baike/c0%3Dbaike150%2C5%2C5%2C150%2C50/sign=9fe1d71697ef76c6c4dff379fc7f969f/b03533fa828ba61ed2efcd184634970a304e5987.jpg">
                <p> 5 Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae, egestas at augue.</p>
           </div>
        </div>
    </div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
纯CSS实现聊天框小尖角、气泡效果
Apr 04 HTML / CSS
纯css3实现照片墙效果
Dec 26 HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
Jun 28 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
Aug 26 HTML / CSS
使用HTML5的Notification API制作web通知的教程
May 08 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
Sep 08 HTML / CSS
12个不为大家熟知的HTML5设计小技巧
Jun 02 HTML / CSS
Canvas中设置width与height的问题浅析
Nov 01 HTML / CSS
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
Aug 24 HTML / CSS
使用HTML5加载音频和视频的实现代码
Nov 30 HTML / CSS
Html5同时支持多端sdk的小技巧
Nov 17 HTML / CSS
CSS使用伪类控制边框长度的方法
Jan 18 HTML / CSS
CSS3制作酷炫的条纹背景
Nov 09 #HTML / CSS
css3实现文字扫光渐变动画效果的示例
Nov 07 #HTML / CSS
css3实现画半圆弧线的示例代码
Nov 06 #HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
Nov 06 #HTML / CSS
详解Sticky Footer 绝对底部的两种套路
Nov 03 #HTML / CSS
CSS3 mask 遮罩的具体使用方法
Nov 03 #HTML / CSS
用CSS3实现无限循环的无缝滚动的示例代码
Nov 01 #HTML / CSS
You might like
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
基于curl数据采集之正则处理函数get_matches的使用
2013/04/28 PHP
php不用正则验证真假身份证
2013/11/06 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
PHP实现根据密码长度显示安全条
2017/07/04 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
jquery实现一个简单好用的弹出框
2014/09/26 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
几种tab切换详解
2017/02/03 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
python之wxPython菜单使用详解
2014/09/28 Python
python中使用mysql数据库详细介绍
2015/03/27 Python
python编写Logistic逻辑回归
2020/12/30 Python
python 自动重连wifi windows的方法
2018/12/18 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
用python对oracle进行简单性能测试
2020/12/05 Python
详解使用scrapy进行模拟登陆三种方式
2021/02/21 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
大学生就业意向书范文
2014/04/01 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js