css 瀑布流样式的三种方法

19 篇文章 0 订阅

可以有多列,每一个item(单元格)的高度可以不相同,但是宽度必须一样.排列的方式是,从左往右排列,哪一列现在的总高度最小,就优先排序把item(单元格)放在这一列.这样排完所有的单元格后,可以保证每一列的总高度都相差不大,不至于,有的列很矮,有的列很高.这样就很难看了 

一、

1、column-count 把div中的文本分为多少列

2、column-width 规定列宽

3、column-gap 规定列间隙

4、break-inside: avoid; 避免元素内部断行并产生新列

注意: Internet Explorer 9及更早 IE 版本浏览器不支持 column-count 属性。

<!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="https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=f3d4063328738bd4d02cba63c0e2ecb3/a2cc7cd98d1001e910616de1be0e7bec55e797fa.jpg">

<p>1 convallis timestamp</p>

</div>

<div class="item">

<img src="https://imgsa.baidu.com/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=03948ea9b4315c60579863bdecd8a076/8326cffc1e178a825a6b5d1cfe03738da977e833.jpg">

<p>2 convallis timestamp 2 Donec a fermentum nisi. </p>

</div>

<div class="item">

<img src="https://imgsa.baidu.com/baike/c0%3Dbaike80%2C5%2C5%2C80%2C26/sign=3d645bf2d0ca7bcb6976cf7ddf600006/6d81800a19d8bc3efe5f64fb858ba61ea8d345af.jpg">

<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="https://imgsa.baidu.com/baike/c0%3Dbaike180%2C5%2C5%2C180%2C60/sign=fbc3501b0a087bf469e15fbb93ba3c49/bf096b63f6246b60ea65dd24e3f81a4c510fa273.jpg">

<p> 4 Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae, egestas at augue. </p>

</div>



<div class="item">

<img src="https://imgsa.baidu.com/baike/c0%3Dbaike150%2C5%2C5%2C150%2C50/sign=9fe1d71697ef76c6c4dff379fc7f969f/b03533fa828ba61ed2efcd184634970a304e5987.jpg">

<p> 5 Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae, egestas at augue.</p>

</div>

<div class="item">

<img src="https://imgsa.baidu.com/baike/c0%3Dbaike72%2C5%2C5%2C72%2C24/sign=f3d4063328738bd4d02cba63c0e2ecb3/a2cc7cd98d1001e910616de1be0e7bec55e797fa.jpg">

<p>1 convallis timestamp</p>

</div>

<div class="item">

<img src="https://imgsa.baidu.com/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=03948ea9b4315c60579863bdecd8a076/8326cffc1e178a825a6b5d1cfe03738da977e833.jpg">

<p>2 convallis timestamp 2 Donec a fermentum nisi. </p>

</div>

<div class="item">

<img src="https://imgsa.baidu.com/baike/c0%3Dbaike80%2C5%2C5%2C80%2C26/sign=3d645bf2d0ca7bcb6976cf7ddf600006/6d81800a19d8bc3efe5f64fb858ba61ea8d345af.jpg">

<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="https://imgsa.baidu.com/baike/c0%3Dbaike180%2C5%2C5%2C180%2C60/sign=fbc3501b0a087bf469e15fbb93ba3c49/bf096b63f6246b60ea65dd24e3f81a4c510fa273.jpg">

<p> 4 Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae, egestas at augue. </p>

</div>



<div class="item">

<img src="https://imgsa.baidu.com/baike/c0%3Dbaike150%2C5%2C5%2C150%2C50/sign=9fe1d71697ef76c6c4dff379fc7f969f/b03533fa828ba61ed2efcd184634970a304e5987.jpg">

<p> 5 Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae, egestas at augue.</p>

</div>

</div>

</body>



</html>

还有一种就是控制数据的索引值来让数据放到左边还是右边

二、float属性  相对不合适

三、flex属性  相对不合适

原文地址:http://www.cnblogs.com/tinyphp/p/6221523.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现CSS瀑布流布局的两列效果,可以通过以下步骤进行操作: 1. 使用弹性盒子(flexbox)布局。将父容器(container)设置为弹性盒子,设置其flex-direction属性为column,这样子元素会按列排列。 2. 指定每个子元素(item)的宽度为50%(或是其他任意所需的宽度),这样就可以实现两列布局。 3. 根据需求,可以对子元素进行其他样式的调整,比如给图片设置宽度为100%等。 以下是示例代码: ```css .container{ display: flex; flex-direction: column; } .item{ width: 50%; } .item img{ width: 100%; } ``` 通过以上步骤,你可以实现CSS瀑布流布局的两列效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [CSS3不规则瀑布流布局特效](https://download.csdn.net/download/weixin_38665668/16319388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [CSS总结——瀑布流布局](https://blog.csdn.net/m0_67401660/article/details/126099099)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值