• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 知识库 知识库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

css实现瀑布布局

武飞扬头像
xhjyxxw
帮助1

大家好,今日小科来聊聊一篇关于css如何实现瀑布布局的文章,现在让我们往下看看吧!

实现css瀑布流布局的方法:1。使用多列多列布局。2.使用flex布局实现;只需将外层设置为行布局,然后设置一个容器并将其设置为列布局。它将列作为一个整体,然后划分列并固定列中的宽度。

瀑布流的布局还是很吸引我的。最近又看到了实现瀑布流的做法。在这里,我记录下来。特别是感觉用flex布局实现瀑布流还是有点笨,不过现在能理解它的原理了。1 .多列多列布局实现瀑布流。先简单说一下多列相关的一些属性。

列数设置列数列间距设置列之间的间距列宽设置每列的宽度还结合在子容器中设置中断,以防止多列布局、分页媒体和多区域上下文中的意外中断。

内部中断属性值

Auto指定既不强制也不禁止元素内的分页符/分栏符。

避免指定避免元素内的分页符。

避免-page指定避免元素内的分页符。

避免-column指定避免元素中的分栏符。

避免-region指定避免元素内的区域中断。如果该部分被截断,您可以填写/* html文件*/

!-使用多列实现瀑布流-

div id='root '

div class='item '

img类='itemImg' src='https://www.xhjyxxw.com/keji/202308/images/1.jpeg' alt="'/

div class="userInfo '

img类='avatar' src='https://www.xhjyxxw.com/keji/202308/images/gift.png' alt="'/

Span class="username '用左手保护你/span

/div

/div

div class='item '

img类='itemImg' src='https://www.xhjyxxw.com/keji/202308/images/2.jpg' alt="'/

div class="userInfo '

img类='avatar' src='https://www.xhjyxxw.com/keji/202308/images/gift.png' alt="'/

Span class="username '用左手保护你/span

/div

/div

div class='item '

img类='itemImg' src='https://www.xhjyxxw.com/keji/202308/images/3.jpg' alt="'/

div class="userInfo '

img类='avatar' src='https://www.xhjyxxw.com/keji/202308/images/gift.png' alt="'/

Span class="username '用左手保护你/span

/div

/div

div class='item '

img类='itemImg' src='https://www.xhjyxxw.com/keji/202308/images/4.jpg' alt="'/

div class="userInfo '

img类='a '

vatar" src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/5.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div></div>/* css样式 */body { background: #e5e5e5;}/* 瀑布流最外层 */#root { margin: 0 auto; width: 1200px; column-count: 5; column-width: 240px; column-gap: 20px;}/* 每一列图片包含层 */.item { margin-bottom: 10px; /* 防止多列布局,分页媒体和多区域上下文中的意外中断 */ break-inside: avoid; background: #fff;}.item:hover { box-shadow: 2px 2px 2px rgba(0, 0, 0, .5);}/* 图片 */.itemImg { width: 100%; vertical-align: middle;}/* 图片下的信息包含层 */.userInfo { padding: 5px 10px;}.avatar { vertical-align: middle; width: 30px; height: 30px; border-radius: 50%;}.username { margin-left: 5px; text-shadow: 2px 2px 2px rgba(0, 0, 0, .3);}

2.flex布局实现瀑布流将外层设置为row布局,然后再设置一个容器并设置为column布局,它是将列作为一个整体,然后在对列进行划分,在列里进行宽固定来实现的/* html文件(只截取两列布局)*/<div id="root"> <div class="itemContainer"> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/1.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/2.jpg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/3.jpg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/4.jpg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/5.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/6.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/7.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> </div> <div class="itemContainer"> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/5.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/7.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/6.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/5.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/6.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> <div class="item"> <img src="https://www.xhjyxxw.com/keji/images/6.jpeg" alt=""/> <div class="userInfo"> <img src="https://www.xhjyxxw.com/keji/images/gift.png" alt=""/> <span class="username">牵起你的左手护着你</span> </div> </div> </div></div>/* css文件 */body{ background: #e5e5e5;}#root{ display: flex; flex-direction: row; margin: 0 auto; width: 1200px;}.itemContainer{ margin-right: 10px; flex-direction: column; width: 240px;}.item{ margin-bottom: 10px; background: #fff;}.itemImg{ width: 100%;}.userInfo { padding: 5px 10px;}.avatar { vertical-align: middle; width: 30px; height: 30px; border-radius: 50%;}.username { margin-left: 5px; text-shadow: 2px 2px 2px rgba(0, 0, 0, .3);}

实践后发现,纯css实现的瀑布流只能是一列一列的排布,所以还是得用js来实现瀑布流更符合我们常见的瀑布流

这篇好文章是转载于:知行礼动

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 知行礼动
  • 本文地址: /news/detail/tanhbgfhaa