当前位置: 首页 > news >正文

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>

 

http://www.lryc.cn/news/225165.html

相关文章:

  • Hadoop 视频分析系统
  • Flutter android和ios闪屏页配置
  • 30道高频Vue面试题快问快答
  • vue-前端实现模糊查询
  • QT:tcpSocket 报错The proxy type is invalid for this operation
  • PostgreSQL 技术内幕(十一)位图扫描
  • C# WebSocket 服务器
  • 自动化实战 - 测试个人博客系统
  • TCP/IP详解
  • 2023年的低代码:数字化、人工智能、趋势及未来展望
  • 【gogogo专栏】golang并发编程
  • 深入理解JVM虚拟机第二十二篇:详解JVM当中与操作数栈相关的字节码指令
  • Vue报错解决Error in v-on handler: “Error: 无效的节点选择器:#div1“
  • R | R包安装报错-github连接速度慢或无法访问 | metaboanalystR | Retip | rJava安装
  • 博阳精讯、凡得科技访问上海斯歌:共探BPM流程服务新高地
  • 响应式艺术作品展示前端html网站模板源码
  • 大语言模型(LLM)综述(六):大型语言模型的基准和评估
  • 【Python自学笔记】Flask调教方法Internel Server Error
  • 【AICFD案例教程】汽车外气动-AI加速
  • P1547 [USACO05MAR] Out of Hay S 题解
  • 2023.11.10联测总结
  • C++:list?自己模拟实现!
  • layui table合并相同的列
  • 【Spring】SpringBoot配置文件
  • python批量下载txt文件中链接的数据
  • stm32 Bootloader设计(YModem协议)
  • 竞赛 题目: 基于深度学习的疲劳驾驶检测 深度学习
  • ubuntu 16.04.5 安装 vivado 2019.1 完整编译AD9361的环境
  • Zotero详细功能补充!熟练使用!【进阶版,持续更新】
  • 【Windows】Windows系统常用命令大全