怎样在网页中做出瀑布流效果?

怎样在网页中做出瀑布流效果?,第1张

在网页中实现瀑布流效果方法:

1.传统多列浮动

各列固定宽度,并且左浮动

一列中的数据块为一组,列中的每个数据块依次排列即可

更多数据加载时,需要分别插入到不同的列上。

2. CSS3 定义

由 chrome/ff 浏览器直接渲染出来,可以指定容器的列个数,列间距,列中间边框,列宽度来实现

#container {

-webkit-column-count: 5;

/*-webkit-column-gap: 10px;

-webkit-column-rule: 5px solid #333;

-webkit-column-width: 210px;*/

-moz-column-count: 5;

/*-moz-column-gap: 20px;

-moz-column-rule: 5px solid #333;

-moz-column-width: 210px;*/

column-count: 5;

/*column-gap: 10px;

column-rule: 5px solid #333;

column-width: 210px;*/

}

column-count 为列数column-gap 为每列间隔距离column-rule 为间隔边线大小column-width 为每列宽度当只设置 column-width 时,浏览器窗口小于一列宽度时,列中内容自动隐藏当只设置 column-count 时,平均计算每列宽度,列内内容超出则隐藏都设了 column-count 和column-width,浏览器会根据 count 计算宽度和 width 比较,取大的那个值作为每列宽度,然后当窗口缩小时,width 的值为每列最小宽度。

3.绝对定位

可谓是最优的一种方案,方便添加数据内容,窗口变化,列数/数据块都会自动调整。

1.自然布局

没有任何修饰的布局是自动靠左的。

2.流动布局

上面讲的float:left的情况。

3.定位布局

相对定位和绝对定位都是相对于父div标签的。

相对------以这个元素的本来应该在的位置为参照点

绝对——以父div标签的原点(左上角)为参照点。

由于外层是position:relative,所以里层是absolute的话,则会以外层的左上角为位移参考对齐。当然外层只写position:relative,写上left,top这两个值,则表示以:以这个元素的本来应该在的位置为布局参照原点进行left,top对齐。

还有一种情况是,只是一个position:absolute外层没有position:relative,这时会找寻那个点为参考呢?这时候的原则是:如果某父级元素中有relative者,则以某父级元素为参考原点,如果没有position:relative,则以body为参考原点。如果position:absolute外层没有relative时,这两个布局上是没有区别的。

当然最后一种情况是:外层是:position:absolute里边是position:relative,那会是什么情况?按着原来的原则,absolute会参考body为布局原点,relative会参考他本来应该在的位置为布局原点,这时候其实就是参考外层左上角为布局原点。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6273859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存