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

分享:纯 css 瀑布js 瀑布

博客地址:https://ainyi.com/60 分享一次纯 css 瀑布  和 js 瀑布 纯 css 写瀑布 1.multi-columns 方式: 通过 Multi-columns 相关的属性...看到这里,我们可以发现,使用纯 css 写瀑布,每一块 item 都是从上往下排列,不能做到从左往右排列: ? 这样子若是动态加载图片的瀑布,体验就会很不好 我们想要的是这样: ?...这样做只能通过 js 来写瀑布 js瀑布: html 结构与上面类似,这里我用图片来做示例: 1 2 <...瀑布实现方式: css 的绝对定位方式:根据每张图片的位置设置 top 和 left 值: 1 //瀑布效果 2 //这里有一个坑(已经修复): 3 //因为是动态加载远程图片,在未加载完全无法获取图片宽高...这实现了横向排列的瀑布效果 欢迎浏览 GitHub:https://github.com/Krryxa 博客地址:https://ainyi.com/60

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

    分享一次纯 css 瀑布js 瀑布

    博客地址:https://ainyi.com/60 现在百度图片,360 图片搜索,都是以一种瀑布的形式展示,那么接下来,分享一波纯 css 瀑布js 瀑布 纯 css 写瀑布 multi-columns...,每一块 item 都是从上往下排列,不能做到从左往右排列: [kc4aje4u6f.jpeg] 这样子若是动态加载图片的瀑布,体验就会很不好 我们想要的是这样: [no351tx20r.jpeg]...要实现如上,只能通过 js 来写瀑布 js瀑布 html 结构与上面类似,但这里我用图片来做示例 ...瀑布实现方式 css 的绝对定位方式:根据每张图片的位置设置 top 和 left 值 // 瀑布效果 // 这里有一个坑(已经修复): // 因为是动态加载远程图片,在未加载完全无法获取图片宽高...// 未加载完全就无法设定每一个 item(包裹图片)的 top。

    2.4K40

    多栏布局与JS实现瀑布

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

    3K90

    分享 1个原生 JS 瀑布案例

    瀑布流布局中的图片有一个核心特点 —— 等宽不定等高,瀑布流布局在国内网网站都有一定规模的使用,比如pinterest、花瓣网等等。那么接下来就基于这个特点开始瀑布探索之旅。...waterfall-box { float: left; width: 200px; padding-left: 10px; padding-bottom: 10px; } 至此完成了瀑布的基本布局...这时候要考虑一个点,是滚动到什么位置时触发加载函数呢?...联想到业务场景中瀑布中下拉加载的图片一般都来自 Ajax 异步获取,那么加载的数据必然不能写死在库里,期望能实现如下调用(此处借鉴了 waterfall 的使用方式), const waterfall...waterfall.on("load", function () { // 此处进行 ajax 同步/异步添加图片 }) 观察调用方式,不难联想到使用发布/订阅模式来实现它,关于发布/订阅模式,之前在Node.js

    1.9K20

    小程序实现瀑布及懒加载无限刷新

    这两天在仿图虫,其中涉及到一个需求就是很多页面需要进行瀑布加载,网上搜了很多教程,其中有一个思路挺好的,稍微有点复杂,但确实是我想要的效果。 ?...leftHight + tmp.itemHeight; } else { rightList.push(tmp); rightHight = rightHight + tmp.itemHeight; } 瀑布展示图片的时候...所以如果你们的数据没有宽高或宽高比,很难实现瀑布。虽然可以通过bindload获得图片宽高,但会对性能以及用户体验有很大影响,不推荐这么做。可以和后台商量下,看如何加上宽高数据。...中配置的全局变量 //app.js App({ onLaunch: function() { // 获取系统状态栏信息 wx.getSystemInfo({ success: e...({ leftList: leftList, rightList: rightList, }); }) }, }) 其中getbottom为触底加载函数

    6K22

    原生 JS 实现一个瀑布插件

    瀑布流布局中的图片有一个核心特点 —— 等宽不定等高,瀑布流布局在国内外网站都有一定规模的使用,比如pinterest、花瓣网等等。那么接下来就基于这个特点开始瀑布探索之旅。...waterfall-box { float: left; width: 200px; padding-left: 10px; padding-bottom: 10px; } 至此完成了瀑布的基本布局...这时候要考虑一个点,是滚动到什么位置时触发加载函数呢?...联想到业务场景中瀑布中下拉加载的图片一般都来自 Ajax 异步获取,那么加载的数据必然不能写死在库里,期望能实现如下调用(此处借鉴了 waterfall 的使用方式), const waterfall...waterfall.on("load", function () { // 此处进行 ajax 同步/异步添加图片 }) 观察调用方式,不难联想到使用发布/订阅模式来实现它,关于发布/订阅模式,之前在 Node.js

    2.4K40

    iOS 瀑布封装

    [瀑布.gif] 功能描述:WSLWaterFlowLayout 是在继承于UICollectionViewLayout的基础上封装的带头脚视图的瀑布控件。...目前支持竖向瀑布(item等宽不等高、支持头脚视图)、水平瀑布(item等高不等宽 不支持头脚视图)、竖向瀑布( item等高不等宽、支持头脚视图)三种样式的瀑布流布局。...下面是WSLWaterFlowLayout.h中的属性方法和代理方法,含义注释的还算清晰: typedef enum { WSLVerticalWaterFlow = 0, /** 竖向瀑布...item等宽不等高 */ WSLHorizontalWaterFlow = 1, /** 水平瀑布 item等高不等宽 不支持头脚视图*/ WSLVHWaterFlow = 2, /...** 竖向瀑布 item等高不等宽 */ WSLLineWaterFlow = 3 /** 线性布局 待完成,敬请期待 */ } WSLFlowLayoutStyle;//样式 @class

    1.6K80

    iOS 瀑布封装

    瀑布.gif 功能描述:WSLWaterFlowLayout 是在继承于UICollectionViewLayout的基础上封装的带头脚视图的瀑布控件。...目前支持竖向瀑布(item等宽不等高、支持头脚视图)、水平瀑布(item等高不等宽 不支持头脚视图)、竖向瀑布( item等高不等宽、支持头脚视图)三种样式的瀑布流布局。...下面是WSLWaterFlowLayout.h中的属性方法和代理方法,含义注释的还算清晰: typedef enum { WSLVerticalWaterFlow = 0, /** 竖向瀑布...item等宽不等高 */ WSLHorizontalWaterFlow = 1, /** 水平瀑布 item等高不等宽 不支持头脚视图*/ WSLVHWaterFlow = 2, /...** 竖向瀑布 item等高不等宽 */ WSLLineWaterFlow = 3 /** 线性布局 待完成,敬请期待 */ } WSLFlowLayoutStyle;//样式 @class

    2K80

    js基础_2(页面加载延迟脚本)

    js标签的位置: 通常都是把关于标签放在元素中 目的:把所有外部文件css文件和javascript文件件的引用都放在相同的地方,但是 中包含js文件,只有js代码全部 下载完成后才会载入页面,但这无疑是延迟呈现页面,在延迟期间页面空白 解决:把js代码放在元素中(页面内容的后面),这样就把加载空白页面的时间缩短了...type="text/javascript" defer="defer" src="js/bootstrap.min.js"> ...属性,相当于告诉浏览器立即下载,但延迟进行,虽然我们把放在中但其中包含的延迟脚本讲遇到浏览 器标签再进行....HTML5规范要求脚本按照他们出现的先后顺序再进行,因此第一个延迟脚本会先于第二个延迟脚本进行, 而这两个脚本会先于DOMcontentLoaded事件触发前执行,但在现实当中,延迟脚本不应定会按照顺序执行

    3.9K20

    lazyload.js实现图片异步延迟加载

    所谓图片异步加载,意思是不用一次把图片全部加载完,你可以叫它延迟加载,缓冲加载都行。...看看你有没有这JavaScript 所谓图片异步加载,意思是不用一次把图片全部加载完,你可以叫它延迟加载,缓冲加载都行。...lazyload.js其实是jQuery的一个插件,全称是jquery.lazyload.js,看它的名字就知道它的作用了——就是偷懒载入的意思。...代码仅仅 1.6KB 先决条件是:你的站加载了 Jquery.js 原理: 这个特效是少有的即华丽又加速的效果,因为它能判断访客是不是在查看当前图片,若非则加载预留的填充图片 grey.gif ,等到访客滑动鼠标滑轮或浏览到图片位置时...不用担心对访客的友好程度,这个效果会在图片即将被浏览到的时候就开始加载图片; 实现方法: 下载 jquery.lazyload.js      下载 预填充图片 fill.gif 点此打包下载

    12.8K20

    vue实现网络图片瀑布 + 下拉刷新 + 上拉加载更多

    一、思路分析和效果图   用vue来实现一个瀑布效果,加载网络图片,同时有下拉刷新和上拉加载更多功能效果。...然后针对这几个效果的实现,捋下思路: 根据加载数据的顺序,依次追加标签展示效果; 选择哪种方式实现瀑布,这里选择绝对定位方式; 关键问题:由于每张图片的宽高不一样,而瀑布中要求所有图片的宽度一致,高度随宽度等比缩放...而且由于图片的加载是异步延迟。在不知道图片高度的情况下,每个图片所在的item盒子不好绝对定位。因此在渲染页面前先获取所有图片的高度,是解决问题的关键点!...这里选择用JS中的Image类,通过预加载图片的方式提前获取图片宽高,另外通过一个临时变量来计算是否所有图片的高度已经得到。当所有的图片高度获取后,开始渲染页面。...同时由于图片加载是异步加载,所以用变量计数,当最后一个图片加载完成后,开始渲染页面。

    3.2K10

    【春节日更】JS延迟加载的几种方式

    面试中,经常被问到: “JS延迟加载的几种方式” 今天,我们就来分享下JS延迟加载的方式 JS延迟加载,也就是等页面加载完成之后再加载 JavaScript 文件。...JS延迟加载有助于提高页面加载速度。...一般有以下几种方式: defer 属性 async 属性 动态创建DOM方式 使用jQuery的getScript方法 使用setTimeout延迟方法 让js最后加载 1. defer...也就是说,脚本会被延迟到整个页面都解析完毕之后再执行。 在 元素中设置 defer 属性,等于告诉浏览器立即下载,但延迟执行。 <!...使用setTimeout延迟方法 6.让JS最后加载js外部引入的文件放到页面底部,来让js最后引入,从而加快页面加载速度 参考: https://blog.csdn.net/meijory/article

    1.9K30

    WordPress网站js脚本延迟和异步加载教程

    位于页面头部和主体部分内的脚本可能会导致页面加载延迟,因为浏览器甚至在页面内容之前尝试加载和执行这些脚本。 这就是为什么这些脚本被称为渲染阻塞javascripts。...解决此问题的最直接的方法是将所有脚本移动到页面的页脚,但如果这种办法不可行,则可以考虑为这些脚本添加延迟或异步属性标记,就是我们常常挂在挂在嘴边的延迟加载、异步加载。 图片 什么是异步和延迟属性?...以下是async和defer属性的作用: 异步属性:async属性即异步加载脚本。 换句话说,确保脚本与页面的其他相关内容一起异步加载延迟属性:延迟属性即延迟加载脚本。...根据脚本及其功能,您可能希望延迟加载或异步加载它们。 如前所述,延迟脚本仅在页面完全加载后执行,因此如果您的脚本需要在页面加载期间执行,则异步属性更合适。...如果您没有任何脚本要延迟加载,那么您可以将其保留为空白数组,如下所示,反之亦然: ## 1: 延时加载js列表.

    2.2K20
    领券