CSS3教程

当前位置: HTML5技术网 > CSS3教程 > CSS3的学习--实现瀑布流

CSS3的学习--实现瀑布流

基于CSS3实现瀑布流,使用CSS3的CSS 多栏(Multi-column)。
可以到github上下载源码 : https://github.com/CraryPrimitiveMan/waterfall-css3


瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。我们只是实现了多栏的布局。
CSS 多栏(Multi-column) : http://www.w3chtml.com/css3/properties/multi-column/



Properties
属性CSS Version
版本Inherit From Parent
继承性Description
简介
columnsCSS3无CSS3 columns 属性,是复合属性,设置或检索对象的列数和每列的宽度。
column-widthCSS3无CSS3 column-width 属性,设置或检索对象每列的宽度
column-countCSS3无CSS3 column-count  属性,设置或检索对象的列数
column-gapCSS3无CSS3 column-gap 属性,设置或检索对象的列与列之间的间隙
column-ruleCSS3无CSS3 column-rule 属性,是复合属性。设置或检索对象的列与列之间的边框。
column-rule-widthCSS3无CSS3 column-rule-width 属性,设置或检索对象的列与列之间的边框厚度。
column-rule-styleCSS3无CSS3 column-rule-style 属性,设置或检索对象的列与列之间的边框样式。
column-rule-colorCSS3无CSS3 column-rule-color 属性,设置或检索对象的列与列之间的边框颜色。
column-spanCSS3无CSS3 column-span 属性,设置或检索对象元素是否横跨所有列。
column-fillCSS3无CSS3 column-fill 属性,设置或检索对象所有列的高度是否统一。
column-break-beforeCSS3无CSS3 column-break-before 属性,设置或检索对象之前是否断行。
column-break-afterCSS3无CSS3 column-break-after 属性,设置或检索对象之后是否断行。
column-break-insideCSS3无CSS3 column-break-inside 属性,设置或检索对象内部是否断行。

先来写一个简单的图片页面


  1. <html>
  2.     <head>
  3.         <link rel="stylesheet" type="text/css" href="css/main.css">
  4.         <script type="text/javascript" src="../lib/jquery/jquery-1.11.1.min.js"></script>
  5.     </head>
  6.     <body>
  7.         <div id="main">
  8.             <div class="box">
  9.                 <div class="pic">
  10.                     <img src="">
  11.                 </div>
  12.             </div>
  13.             <div class="box">
  14.                 <div class="pic">
  15.                     <img src="">
  16.                 </div>
  17.             </div>
  18.             <!-- 这里省略多个class为box的div-->
  19.             <div class="box">
  20.                 <div class="pic">
  21.                     <img src="">
  22.                 </div>
  23.             </div>
  24.         </div>
  25.     </body>
  26.     <script type="text/javascript">
  27.         var width = 300, height = 300;
  28.         $('.box img').each(function(){
  29.             // 随机图片的高宽,如果大小一样,就没必要用瀑布流了
  30.             width = Math.floor(Math.random() * 100) + 300;
  31.             height = Math.floor(Math.random() * 500) + 300;
  32.             $(this).attr('src', 'http://placekitten.com/'+ height +'/' + width);
  33.         });
  34.     </script>
  35. </html>
复制代码

        假设,宽和高都是350,生成链接为http://placekitten.com/350/350,访问这个link就会得到一张350X350的可爱的小猫图片。然后,添加相应的CSS即可。


  1. * {
  2.   padding: 0;
  3.   margin: 0;
  4. }
  5. #main {
  6.   -webkit-column-count: 4;
  7.   -moz-column-count: 4;
  8.   column-count: 4;
  9.   -moz-column-gap:20px;
  10.   -webkit-column-gap:20px;
  11.   column-gap:20px;
  12.   padding: 10px;
  13. }
  14. .box {
  15.   padding: 15px;
  16.   border: solid 2px #eeeeee;
  17.   border-radius: 4px;
  18.   margin-bottom: 15px;
  19.   cursor: pointer;
  20. }
  21. .box img {
  22.   width: 100%;
  23. }
复制代码

        其中的 column-count 代表分成几列,column-gap 代表列和列之间的宽度,你可以根据自己的需要调整。我们还可以使用 column-width 来定义列宽。


       这样就完成了,是不是很简单。


       最后效果图如下













【CSS3的学习--实现瀑布流】相关文章

1. CSS3的学习--实现瀑布流

2. 瀑布流多列布局排版控制CSS3的实现方法

3. jQuery实现的dribbble最受欢迎作品集瀑布流效果

4. 利用CSS3的checked伪类实现OL的隐藏显示

5. 10款重量级CSS3的全新特效 实现绚丽前端动画效果

6. CSS3的animation轻松实现漂浮的云

7. CSS3的文字阴影—Text-Shadow

8. CSS3的10个精彩案例

9. CSS3的10个精彩案例

10. 使用CSS3的褪色和动画效果构建消息提醒框

本文来源:https://www.51html5.com/a1061.html

点击展开全部

﹝CSS3的学习--实现瀑布流﹞相关内容

「CSS3的学习--实现瀑布流」相关专题

其它栏目

也许您还喜欢