基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享


Posted in HTML / CSS onJune 11, 2014

CSS 多栏(Multi-column) : http://www.w3chtml.com/css3/properties/multi-column/

Properties属性 CSS Version版本 Inherit From Parent继承性 Description简介
columns CSS3 CSS3 columns 属性,是复合属性,设置或检索对象的列数和每列的宽度。
column-width CSS3 CSS3 column-width 属性,设置或检索对象每列的宽度
column-count CSS3 CSS3 column-count 属性,设置或检索对象的列数
column-gap CSS3 CSS3 column-gap 属性,设置或检索对象的列与列之间的间隙
column-rule CSS3 CSS3 column-rule 属性,是复合属性。设置或检索对象的列与列之间的边框。
column-rule-width CSS3 CSS3 column-rule-width 属性,设置或检索对象的列与列之间的边框厚度。
column-rule-style CSS3 CSS3 column-rule-style 属性,设置或检索对象的列与列之间的边框样式。
column-rule-color CSS3 CSS3 column-rule-color 属性,设置或检索对象的列与列之间的边框颜色。
column-span CSS3 CSS3 column-span 属性,设置或检索对象元素是否横跨所有列。
column-fill CSS3 CSS3 column-fill 属性,设置或检索对象所有列的高度是否统一。
column-break-before CSS3 CSS3 column-break-before 属性,设置或检索对象之前是否断行。
column-break-after CSS3 CSS3 column-break-after 属性,设置或检索对象之后是否断行。
column-break-inside CSS3 CSS3 column-break-inside 属性,设置或检索对象内部是否断行。

先来写一个简单的图片页面

复制代码
代码如下:

<html>
<head>
<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript" src="../lib/jquery/jquery-1.11.1.min.js"></script>
</head>
<body>
<div id="main">
<div class="box">
<div class="pic">
<img src="">
</div>
</div>
<div class="box">
<div class="pic">
<img src="">
</div>
</div>
<!-- 这里省略多个class为box的div-->
<div class="box">
<div class="pic">
<img src="">
</div>
</div>
</div>
</body>
<script type="text/javascript">
var width = 300, height = 300;
$('.box img').each(function(){
// 随机图片的高宽,如果大小一样,就没必要用瀑布流了
width = Math.floor(Math.random() * 100) + 300;
height = Math.floor(Math.random() * 500) + 300;
$(this).attr('src', 'http://3water.com/'+ height +'/' + width);
});
</script>
</html>

假设,宽和高都是350,生成链接为http://3water.com/350/350,访问这个link就会得到一张350X350的可爱的小猫图片~~O(∩_∩)O~~

然后,添加相应的CSS即可

复制代码
代码如下:

* {
padding: 0;
margin: 0;
}
#main {
-webkit-column-count: 4;
-moz-column-count: 4;
column-count: 4;
-moz-column-gap:20px;
-webkit-column-gap:20px;
column-gap:20px;
padding: 10px;
}
.box {
padding: 15px;
border: solid 2px #eeeeee;
border-radius: 4px;
margin-bottom: 15px;
cursor: pointer;
}
.box img {
width: 100%;
}

其中的 column-count 代表分成几列,column-gap 代表列和列之间的宽度,你可以根据自己的需要调整。我们还可以使用 column-width 来定义列宽。

这样就完成了,是不是很简单~~

最后效果图如下

基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享

HTML / CSS 相关文章推荐
CSS3教程:background-clip和background-origin
Oct 17 HTML / CSS
使用CSS3设计地图上的雷达定位提示效果
Apr 05 HTML / CSS
CSS超出文本指定宽度用省略号代替和文本不换行
May 05 HTML / CSS
css3编写浏览器背景渐变背景色的方法
Mar 05 HTML / CSS
CSS3 实现倒计时效果
Nov 25 HTML / CSS
html5利用canvas绘画二级树形结构图的示例
Sep 27 HTML / CSS
探究 canvas 绘图中撤销(undo)功能的实现方式详解
May 17 HTML / CSS
HTML5边玩边学(3)像素和颜色
Sep 21 HTML / CSS
HTML5实现WebSocket协议原理浅析
Jul 07 HTML / CSS
Canvas 帧动画吃苹果小游戏
Aug 05 HTML / CSS
css display table 自适应高度、宽度问题的解决
May 07 HTML / CSS
background-position百分比原理详解
May 08 HTML / CSS
纯CSS3实现滚动的齿轮动画效果
Jun 05 #HTML / CSS
浅析几个CSS3常用功能的写法
Jun 05 #HTML / CSS
CSS3中利用animation属性创建雪花飘落特效
May 14 #HTML / CSS
CSS3感应鼠标的背景闪烁和图片缩放动画效果
May 14 #HTML / CSS
css3 自定义字体font-face使用介绍
May 14 #HTML / CSS
CSS3动画animation实现云彩向左滚动
May 09 #HTML / CSS
css3实现可滑动跳转的分页插件示例
May 08 #HTML / CSS
You might like
PHP文件读写操作之文件写入代码
2011/01/13 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
javascript中的一些注意事项 更新中
2010/12/06 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
python编程线性回归代码示例
2017/12/07 Python
简单了解python模块概念
2018/01/11 Python
python学习基础之循环import及import过程
2018/04/22 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
用python写测试数据文件过程解析
2019/09/25 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
JSF界面控制层技术
2013/06/17 面试题
商务英语求职自荐信范文
2013/12/24 职场文书
商业活动邀请函
2014/02/04 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
攻略丨滑雪究竟该选哪款对讲机?
2022/02/18 无线电