两种方式"/>
CSS实现瀑布流的两种方式
column
多行布局实现瀑布流
1.column
实现瀑布流主要依赖两个属性。
2.column-count
属性,是控制屏幕分为多少列。
3.column-gap
属性,是控制列与列之间的距离。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>瀑布流布局-column</title><style>.box {margin: 10px;column-count: 3;column-gap: 10px;}.item {margin-bottom: 10px;}.item img{width: 100%;height:100%;}</style>
</head>
<body><div class="box"><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div></div>
</body>
</html>
flex
弹性布局实现瀑布流
flex
实现瀑布流需要将最外层元素设置为display: flex
,使用弹性布局
flex-flow:column wrap
使其纵向排列并且换行换行设置
height: 100vh
填充屏幕的高度,也可以设置为单位为px
的高度,来容纳子元素。每一列的宽度可用
calc
函数来设置,即width: calc(100%/3 - 20px)
。分成等宽的3
列减掉左右两遍的margin
距离。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>瀑布流布局-flex</title><style>.box {display: flex; flex-flow: column wrap;height: 100vh;}.item {margin: 10px;width: calc(100%/3 - 20px);}.item img{width: 100%;height:100%;}</style>
</head>
<body><div class="box"><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div><div class="item"><img src="./imgs/2.jpg" alt="2" /></div><div class="item"><img src="./imgs/3.jpg" alt="3" /></div><div class="item"><img src="./imgs/1.jpg" alt="1" /></div></div>
</body>
</html>
更多推荐
CSS实现瀑布流的两种方式
发布评论