首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分享:纯 css 瀑布js 瀑布

博客地址:https://ainyi.com/60 分享一次纯 css 瀑布  和 js 瀑布 纯 css 写瀑布 1.multi-columns 方式: 通过 Multi-columns 相关属性...这样做只能通过 js 来写瀑布 js瀑布: html 结构与上面类似,这里我用图片来做示例: 1 2 <...瀑布实现方式: css 绝对定位方式:根据每张图片位置设置 top 和 left 值: 1 //瀑布效果 2 //这里有一个坑(已经修复): 3 //因为是动态加载远程图片,在未加载完全无法获取图片宽高...5 6 //itemtop值:第一行:top为0 7 // 其他行:必须算出图片宽度在item宽度缩小比例,与获取图片高度相乘,从而获得item高度 8 //...就可以设置每张图片在瀑布中每块itemtop值(每一行中最小item高度,数组查找) 9 //itemleft值:第一行:按照每块item宽度值*块数 10 // 其他行

8.7K40
您找到你想要的搜索结果了吗?
是的
没有找到

分享一次纯 css 瀑布js 瀑布

博客地址:https://ainyi.com/60 现在百度图片,360 图片搜索,都是以一种瀑布形式展示,那么接下来,分享一波纯 css 瀑布js 瀑布 纯 css 写瀑布 multi-columns...,体验就会很不好 我们想要是这样: [no351tx20r.jpeg] 要实现如上,只能通过 js 来写瀑布 js瀑布 html 结构与上面类似,但这里我用图片来做示例 <div class=...瀑布实现方式 css 绝对定位方式:根据每张图片位置设置 top 和 left 值 // 瀑布效果 // 这里有一个坑(已经修复): // 因为是动态加载远程图片,在未加载完全无法获取图片宽高...// item top 值:第一行:top 为 0 // 其他行:必须算出图片宽度在 item 宽度缩小比例,与获取图片高度相乘,从而获得 item 高度 //...就可以设置每张图片在瀑布中每块 item top 值(每一行中最小 item 高度,数组查找) // item left 值:第一行:按照每块 item 宽度值*块数 //

2.3K40

JS实现瀑布页面布局

个人对瀑布流布局理解: 每列宽度相等而高度不等,且第二行第一个容器需要放在第一行高度最小容器下面,依次类推放置。...附上代码: 代码仅实现了瀑布布局方式和 resize 监听,如果大家有需要,可以自己拓展下:实现监听滚动事件,页面滚动加载图片功能。 代码中写了详细注释,可以直接使用。 <!...document.getElementsByClassName("container")[0].clientWidth; // 获取图片固定宽度...let nums = Math.floor(pageWidth / (itemWidth + gap)); // 瀑布实现原则:...// 所有图片元素绝对定位,从第二行开始,依次从第一行图片元素高度最小下方填充,这里注意,不是从左至右填充,即优先填补空位,填补一个后,再填补下一个较大空位 // 定义第一行图片所有高度数组

2.7K40

js获取各种高度总结

在写js时候偶尔需要获取各种高度,比如;浏览器高度,页面高度,滚动高度等。抽空整理了我自己常用到,时间仓促,没有考虑到万恶IE浏览器。。。。...获取屏幕高度和宽度(屏幕分辨率): window.screen.height window.screen.width 获取屏幕工作区域高度和宽度(去掉状态栏): window.screen.availHeight...window.screen.availWidth 网页全文高度和宽度: document.body.scrollHeight document.body.scrollWidth 滚动条卷上去高度和向右卷宽度...: document.body.scrollTop document.body.scrollLeft 网页可见区域高度和宽度(不加边线): document.body.clientHeight document.body.clientWidth...网页可见区域高度和宽度(加边线): document.body.offsetHeight document.body.offsetWidth

12.5K20

JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度

网页被卷去高:document.body.scrollTop 网页被卷去左:document.body.scrollLeft 网页正文部分上:window.screenTop 网页正文部分左:window.screenLeft...:window.screen.availWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离 scrollWidth:获取对象滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定父坐标的计算左侧位置...else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; //获取窗口高度

8K30

多栏布局与JS实现瀑布

css3属性之多栏布局与JS实现瀑布    背景:之前打算自己总结一下flex布局知识点,发现自己无从下手,原因在何处:我反思了一下,其实原因很简单,使用次数少,更多时间使用了百分比,浮动和定位解决...设定值,否则就会减少栏数来增加每栏宽度 css3多列和JS实现瀑布  给自己安利一波吧,看到网上很多瀑布效果,哇,简直棒极了有没有;于是我迫不及待打开V**,打开了pinterest官网...自己也梳理梳理逻辑: 我们都不陌生瀑布是同宽,但是高度不一,js主要工作就是根据高度来进行布局, 1)当一行排满后,准备排第二行时候,...把第一个图片放到上一行图片高度最小处,以此类推, 另外有一点就是自动加载,这里我做一个条件来判断是否加载, 2)当最后一个元素距离网页顶部高度(offsetTop)+ 这个元素高度一半...< 垂直方向上滚轮量(scrollTop) + 网页可见区域高 时: 我们就加载图片(这里我没有用ajax请求,我用了一个json数组来模拟json数据) 要搞清楚offsetTop、scrollTop

2.9K90

分享 1个原生 JS 瀑布案例

瀑布流布局中图片有一个核心特点 —— 等宽不定等高,瀑布流布局在国内网网站都有一定规模使用,比如pinterest、花瓣网等等。那么接下来就基于这个特点开始瀑布探索之旅。...const perNum = this.getPerNum() // 获取每排图片数 const perList = [] // 存储第一列各图片高度 for (let...pointer = this.getMinPointer(perList) } } 细心朋友也许发现了代码中获取图片高度用到了offsetHeight 这个属性,这个属性高度之和等于图片高度...waterfall-box { float: left; width: 200px; padding-left: 10px; padding-bottom: 10px; } 至此完成了瀑布基本布局...联想到业务场景中瀑布中下拉加载图片一般都来自 Ajax 异步获取,那么加载数据必然不能写死在库里,期望能实现如下调用(此处借鉴了 waterfall 使用方式), const waterfall

1.8K20

JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度(转)

(包括边线宽)  网页可见区域高:document.body.offsetHeight (包括边线宽)  网页正文全文宽:document.body.scrollWidth  网页正文全文高...,scrollWidth,clientWidth,offsetWidth  scrollHeight: 获取对象滚动高度。 ...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离  scrollTop:设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离  scrollWidth:获取对象滚动宽度...  offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定父坐标的高度  offsetLeft:获取对象相对于版面或由 offsetParent 属性指定父坐标的计算左侧位置...(2)在随后JavaScript代码中,首先定义了两个变量winWidth和winHeight,用于保存窗口高度值和宽度值。

16.1K10

原生 JS 实现一个瀑布插件

瀑布流布局中图片有一个核心特点 —— 等宽不定等高,瀑布流布局在国内外网站都有一定规模使用,比如pinterest、花瓣网等等。那么接下来就基于这个特点开始瀑布探索之旅。...const perNum = this.getPerNum() // 获取每排图片数 const perList = [] // 存储第一列各图片高度 for (let...pointer = this.getMinPointer(perList) } } 细心朋友也许发现了代码中获取图片高度用到了 offsetHeight 这个属性,这个属性高度之和等于图片高度...waterfall-box { float: left; width: 200px; padding-left: 10px; padding-bottom: 10px; } 至此完成了瀑布基本布局...联想到业务场景中瀑布中下拉加载图片一般都来自 Ajax 异步获取,那么加载数据必然不能写死在库里,期望能实现如下调用(此处借鉴了 waterfall 使用方式), const waterfall

2.3K40

获取JS加载网页网页源码,不想获取JS加载后数据

原来那篇文章竟然爆文了,突破了1.5w阅读量,欢迎大家围观。 不过这里粉丝需求有点奇怪,他不需要JS加载后数据页面,而是需要JS网页。昨天在群里又讨论起这个问题,这次一起来看看这个问题。...二、实现过程 这里【瑜亮老师】指出异步页面中,标签和数据都是不在页面源码中。你这个页面,数据在json,然后js拼装后显示在页面中。...,你就知道这个网页一开始是没有内容,全靠js在渲染。...先渲染再获取就有了,再者说,你目的肯定是只要这页面上表格,表格就是json,获取json链接比获取渲染后网页方便多了。...这篇文章主要盘点了一个Python网络爬虫网页JS渲染源网页源码获取问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

7910

获取JS加载网页网页源码,不想获取JS加载后数据

原来那篇文章竟然爆文了,突破了1.5w阅读量,欢迎大家围观。 不过这里粉丝需求有点奇怪,他不需要JS加载后数据页面,而是需要JS网页。昨天在群里又讨论起这个问题,这次一起来看看这个问题。...二、实现过程 这里【瑜亮老师】指出异步页面中,标签和数据都是不在页面源码中。你这个页面,数据在json,然后js拼装后显示在页面中。...,你就知道这个网页一开始是没有内容,全靠js在渲染。...先渲染再获取就有了,再者说,你目的肯定是只要这页面上表格,表格就是json,获取json链接比获取渲染后网页方便多了。...这篇文章主要盘点了一个Python网络爬虫网页JS渲染源网页源码获取问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

6210

Web前端实现瀑布几种方法

瀑布效果图如下: 前端实现瀑布方法很多,其中最简单就是用CSS实现,其次是通过jQuery实现,最麻烦就是js,那么就从最麻烦开始吧$_$ 不管用哪种方法去实现瀑布效果,html文件里写法都是相同...先把html里内容粘贴如下: JS实现瀑布效果 不管是什么语言,实现瀑布效果基本思路都是一样,具体我就不说了,只聊干货,上代码。...--引入js代码--> 为了实现瀑布效果,我们需要把已有的数据先按照瀑布效果排列好,先来一个实现瀑布函数,有详细步骤注释...,粘贴如下: $函数是自定义函数,根据id获得标签 还有一个获取数组中特定值脚标的函数 在网页加载完毕onload函数中调用实现瀑布函数,第一个参数是最外层div标签id="main...首先先判断什么时候加载,我判断是,当浏览器页面的偏移量加上浏览器高度大于加载最后一个盒子头部偏移量时候,加载新数据。

2.3K10

vue.js数据渲染完成后,获取页面高度问题

遇到问题 通过接口请求出来数据,渲染到页面上,再获取元素内容高度时候,高度为0 为什么高度会是0 因为我是在接口返回数据后,就直接在回调函数里获取了元素内容高度。...虽然数据获取到了,但是页面还没有及时渲染出来,所以获取内容高度就为0了 然后我就延迟2秒获取内容高度,发现内容高度是渲染完成后正常高度,但是这样肯定是不行。...部分代码示例一: mounted() { this.getDataList(); //调用方法 }, methods: { //获取数据列表 getDataList() {...1&keywords=') .then(function (res) { that.dataList = res.data.data; //将获取数据赋值给...=1&keywords=') .then(function (res) { that.dataList = res.data.data; //将获取数据赋值给

5.9K30
领券