六安沧州西安三亚宝鸡菏泽
投稿投诉
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

瀑布流布局浅析

  如果你经常网上冲浪,这样参差不齐的多栏布局,是不是很眼熟啊?
  类似的布局,似乎一夜之间出现在国内外大大小小的网站上,比如Pinterest(貌似是最早使用这种布局的网站了),Mark之,蘑菇街,点点网,以及淘宝最新上线的哇哦等等,倒是很流行哈在淘宝即将上线的众多产品中,你还会大量看到这样的形式呢。
  这种布局适合于小数据块,每个数据块内容相近且没有侧重。通常,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。所以,我们给这样的布局起了一个形象的名字瀑布流式布局。
  几种实现方式
  随着越来越多设计师爱用这种布局,我们作为前端,要尽可能满足视觉交互设计师的需求。所以,我们整理了下这种布局的几种实现方式,有三种:
  1)传统多列浮动。即蘑菇街和哇哦采用的方式,如下图所示:
  各列固定宽度,并且左浮动;
  一列中的数据块为一组,列中的每个数据块依次排列即可;
  更多数据加载时,需要分别插入到不同的列上;
  线上例子。
  优点:
  布局简单,应该说没啥特别的难点;
  不用明确知道数据块高度,当数据块中有图片时,就不需要指定图片高度。
  缺点:
  列数固定,扩展不易,当浏览器窗口大小变化时,只能固定的x列,如果要添加一列,很难调整数据块的排列;
  滚动加载更多数据时,还要指定插入到第几列中,还是不方便。
  2)CSS3定义。W3C中有讲述关于多列布局的文档,排列出来的样子:
  由chromeff浏览器直接渲染出来,可以指定容器的列个数,列间距,列中间边框,列宽度来实现;
  container{
  webkitcolumncount:5;
  webkitcolumngap:10px;
  webkitcolumnrule:5pxsolid333;
  webkitcolumnwidth:210px;
  mozcolumncount:5;
  mozcolumngap:20px;
  mozcolumnrule:5pxsolid333;
  mozcolumnwidth:210px;
  columncount:5;
  columngap:10px;
  columnrule:5pxsolid333;
  columnwidth:210px;
  }
  columncount为列数;columngap为每列间隔距离;columnrule为间隔边线大小;columnwidth为每列宽度;当只设置columnwidth时,浏览器窗口小于一列宽度时,列中内容自动隐藏;当只设置columncount时,平均计算每列宽度,列内内容超出则隐藏;都设了columncount和columnwidth,浏览器会根据count计算宽度和width比较,取大的那个值作为每列宽度,然后当窗口缩小时,width的值为每列最小宽度。这边其实很简单,简易自己尝试下,详细可参考https:developer。mozilla。orgenCSS3Columns中的说明。
  线上列子。
  优点:
  直接CSS定义,最方便了;
  扩展方便,直接往容器里添加内容即可。
  缺点:
  只有高级浏览器中才能使用;
  还有一个缺点,他的数据块排列是从上到下排列到一定高度后,再把剩余元素依次添加到下一列,这个本质上就不一样了;
  鉴于这两个主要缺点,注定了该方法只能局限于高端浏览器,而且,更适合于文字多栏排列。
  3)绝对定位。即Pinterest,Mark之,KISSY采用的方式:
  可谓是最优的一种方案,方便添加数据内容,窗口变化,列数数据块都会自动调整;
  线上列子。
  缺点:
  需要实现知道数据块高度,如果其中包含图片,需要知道图片高度;
  JS动态计算数据块位置,当窗口缩放频繁,可能会狂耗性能。
  KISSY。Waterfall实现思路
  KISSY的Waterfall组件主要包含两个部分,一个是对现有数据块进行排列计算各自所在的位置;二是下拉滚动时,触发加载数据操作,并把数据添加到目标容器中。
  1)数据块排列,算法步骤简述下:
  初始化时,对容器中已有数据块元素进行第一次计算,需要用户给定:a,容器元素以此获取容器总宽度;b,列宽度;c,最小列数;最终列数取的是容器宽度列宽度和最小列数的最大值,这样保证了,当窗口很小时,仍然出现最小列数的数据;
  获得列数后,需要保存每个列的当前高度,这样在添加每个数据块时,才知道起始高度是多少;
  依次取容器中的所有数据块,先寻找当前高度最小的某列,之后根据列序号,确定数据块的left,top值,left为所在列的序号乘以列宽,top为所在列的当前高度,最后更新所在列的当前高度加上这个数据块元素的高度,至此,插入一个元素结束;
  当所有元素插入完毕后,调整容器的高度为各列最大的高度值,结束依次调整;
  性能效率上的注意点:a,如果当前正在调整中,又触发了resize事件,需要将上次调整暂停后执行这次调整(见timedChunk函数);b,resize触发会很频繁,可以将回调函数缓存一段时候后执行,即当这段时间内多次触发了resize事件,但回调函数只会执行一次(见S。buffer函数)
  感兴趣的可以参见源码。
  2)异步加载数据,前面讲的是如何对容器中已有元素进行排列,但很多情况下,还需要不断加载新数据块,为此专门设计了一个独立的模块KISSY。Waterfall。Loader,其实这个功能就更简单了,仅包含两个步骤:
  绑定滚动事件,并确定预加载线高度值,即滚动到哪个高度后,需要去加载数据,其实这个就是列的最小高度值,这样当前滚动值和最小高度值比较一下即可判断出来,是否要触发加载数据;
  加载数据,为了不对数据源做太多限制,完全由使用者自己决定数据源从哪边获取和其格式,这样更好的方便用户使用。为此,该组件只提供一个load(success,end)接口,怎样load由用户自己去定义,而其中的successend,分别给出如何添加新数据(suceess即同addItems)如何停止加载的接口。这样真是太方便了
  感兴趣的可以参见源码。
  KISSY。Waterfall示例和文档

丝瓜鸡蛋汤的做法夏日aclasstaghrefwiki10646IHAhV711。html炎炎a,何不来一碗香甜清香可口的丝瓜鸡蛋汤呢?工具材料丝瓜,鸡蛋,姜,盐,味精操作方……敲胆经的好处胆经是一条从头到脚的经络,其中多数的经络都和其他经络相邻,纬度在大腿外侧的一端,只有一套胆经,而且这段胆经敲打起来也最为顺手,因此很多人都会选择敲打大腿外侧的胆经。那么敲胆经有……落实地区妇幼计生工作推进视频调度会精神工作小结9月1日,召开全地区妇幼计生工作视频调度推进会后,XX县高度重视,认真布署,查漏补缺,进行整改落实现将一周工作小结如下:一、高度重视,层层压实责任9月1日下午,召开……物业会务中心开学以来工作总结及下一阶段的工作计划下面我汇报一下物业会务中心开学以来的各项工作及下一阶段的工作计划。一、开学以来工作完成情况总结开学以来,物业会务中心重基础、抓落实、保服务。在学校的各项工作中积极配……东富龙助力中国制药行业升级工业今年7月5日,上海东富龙科技股份有限公司和国药集团举办了国瑞药业冻干系统交钥匙工程现场交流会。近200位业内代表参观了车间。国瑞医药此次建设的冻干三车间采取了总包模式,主要设备……所有者权益所属科目会计处理规则解析摘要:2014年财政部修订、发布的新企业会计准则,不仅修改了所有者权益核算的基本要求,而且增加了许多新内容,尤其增加了其他权益工具和其他综合收益的会计处理。为了更好地理解新会计……漫谈小学思想品德课教学摘要:思想品德课理论性较强,故有其严肃性、枯燥性的一面,若照本宣科,必然出现听者昏昏然的局面,学生会在这种闷课下失去学习兴趣。而在教学过程中,教师起主导作用,任何教学成果的取得……如何打造性感美背在本文中:改善姿势改善肌肉张力5参考长期在电脑前办公、坐车上下班和缺乏运动,会导致背部、胸部及手臂肌肉无力。如果你没有良好的姿势,可以试试通过以下方法,让自己站得更直,这……加盟华阳串根香赚钱吗目前市面上的串串香店越来越多,各种串串香加盟店更是数不胜数,但是不是每一家串串香加盟店都是100赚钱的,其中还是有很多生意不太好的,为了提高自己门店的存活率,很多创业者都会选择……危机中的存活企业须从梳理愿景开始中欧商业评论从疫情到来之前说起编者按:本文来自微信公众号中欧商业评论(ID:ceibscbr),36氪经授权发布。作者汪宗白责编汪宗白一个伟大的组……从论语中学会四不四毋《论语》是儒家经典中的经典,核心中的核心。其中,对我们现代人最重要的,就是学会《论语》中的八条基本原则:四不、四毋。所谓四不,即是:不怨天;不尤人;不迁怒;不二过。……少儿重疾怎么买解决这个疑问不会再买错隔着手机屏幕感受到一种豪横的气质。细聊下来才知道,原来三年前给大宝买了一款返还型终身重疾,每年保费就是1万多,还因此削减了自己和老公的保费预算。后来有点后悔,想是不……
父母不关心自己怎么办也许很多人都会有这样的困惑,为什么别人家的aclasstaghrefwiki10045IH94TUI112。html父母a对自己的孩子疼爱有加,自己的父母却对自己不那么关心,然……怎样做美味的黄瓜豆干炒牛肉aclasstaghrefwiki10057IH9ZzqQ7。html牛肉a的营养价值非常高,特别是牛肉中含有丰富的锌,这种物质有助于合成蛋白质,促进肌肉生长,常吃牛肉可以延缓……暑期走进社区的社会实践调查报告精选多篇第一篇:暑期走进社区的社会实践调查报告八月初,我收到了学校《关于开展追寻红色足迹、肩负青春使命大学生署期社会实践的通知》。捧着这火热的命题,我想去中国革命第一个根据地井冈……环境资源专家陪审员制度探究摘要:改革开放以来,虽然经济发展迅速,但中国积累的生态环境问题日益明显,已进入高发期。国家河流系统,地下水污染和饮用水安全问题不容忽视。在一些地区,重金属和土壤污染更为严重,该……关于新时期国有企业党建工作的探讨摘要:随着国有企业进步,完善公司治理结构,建立现代企业制度,改制中凸显的问题越来越多,如何加强党建工作,解决企业存在的问题,促进企业健康持续发展至关重要,本文主要阐述了党建工作……年赚十万的小生意商河县兴隆街沿第二实验小学南行100米就是商宝酥饼的店面。记者和创始人翟经理聊起了酥饼的不凡之路。商宝酥饼有三绝吃一回就成铁杆顾客一绝:入口即化,没牙也能吃。口感特……读领风骚摘要:在初中语文教学中,抓住审美教育这一课题,让学生在审美活动中加强朗读训练并行之有法,从而多方面,多角度地培养学生的审美素质,培养美的想象,激发美的发现。关键词:初中语……新时期国有企业党建的新方法新思路摘要:国有企业在现代社会发展过程中属于重要支柱,企业的每一个部门发展都直接关系到企业整体的工作效果和质量,特别是其中的党建工作,人的意识对行为、实践等产生反作用,因此,意识层面……如何养成有效的护肤习惯很多人常常不知道要怎么做才能让皮肤变好。别担心,本文将教你简单的护肤过程,并讨论哪一种产品最好用。虽然本篇指南最适合油性或容易长痘的肌肤,但你可以稍微调整一下,适应干性或混合性……我的思念是一只猫二hr进了201包厢,我一眼就认出了刚才那个从车上出来的男子。他跟着大屏幕唱那首【大约是冬季】,声音就像闷鼓一样。看见我们进来,他马上按了暂停,唤小A坐下,说:各位,今天……心里不舒服的说说心情我也曾在夜深人静时猛然惊醒流一、我也曾在夜深人静时猛然惊醒,流着泪告诉自己不要想你。二、再铁的异性朋友,当某一方谈了恋爱,距离都会拉远,这是事实。三、若不抽出时间来创造自己想要的生活,你最终将……小棕熊钓鱼小棕熊来到河边钓鱼。他往河里一看,高兴地叫起来:哈,满河的鱼啊!小棕熊赶紧把钓杆甩下去,嗬,钓了三条鱼;再一甩,又钓了三条鱼。他简直人了迷,连在河对岸钓鱼的小猫叫他,他都……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网