以前使用瀑布流都要用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="http://huoche.7234.cn/images/jb51/t2fwue4kfg2.gif">
<p>1 convallis timestamp</p>
</div>
<div class="item">
<img src="http://huoche.7234.cn/images/jb51/y5zlflqsoae.gif">
<p>2 convallis timestamp 2 Donec a fermentum nisi. </p>
</div>
<div class="item">
<img src="http://huoche.7234.cn/images/jb51/djhl3vkuysm.gif">
<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="http://huoche.7234.cn/images/jb51/tvx4t415rrs.gif">
<p> 4 Donec a fermentum nisi. Integer dolor est, commodo ut
sagittis vitae, egestas at augue. </p>
</div>
<div class="item">
<img src="http://huoche.7234.cn/images/jb51/5qmd4dtnxpo.gif">
<p> 5 Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae, egestas at augue.</p>
</div>
</div>
</div>
</body>
</html>