|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
学习这篇入门教程之前,请确定你已经具有了一定的HTML基础。
往听了牛人dbaron的一个WebPageLayout/DisplayinMozilla讲座(via)。讲的器材对我一个只会HTML,CSS和JavaScript的人来讲很底层,以是效果也对照“协调”,只是大抵懂得了mozilla的CSS衬着源码散布地位和衬着流程罢了。
讲座提到了reflow(怎样翻译呢?又是一个成绩)这个东东。之前对reflow有所闻,能常常从某些年夜牛的幻灯中提到,进步页面衬着的功能,需只管制止reflow.那末reflow是甚么器材呢?它又是怎样影响页面功能的?过后往问了一下dbaron(呵呵,我白话完全不可,加上心思本质,最初是把成绩写上去给他看),名顿开也。
在CSS标准中有一个衬着工具的观点,一般用一个盒子(box,rectangle)来暗示。mozilla经由过程一个叫frame的工具对盒子举行操纵。frame次要的举措有三个:
机关frame,以创建工具树(DOM树)
reflow,以断定工具地位,大概是挪用mozilla的Layout(这里是指源码的完成)
绘制,以便工具能显现在屏幕上
总的来讲,reflow就是载进内容树(在HTML中就是DOM树)和创立或更新frame布局的呼应的一种历程。
要进步页面功能,实在就是制止reflow的开支。那末,有哪些方面是必要reflow的呢?好比,未指定图片宽高的话,图片的载进会使页面reflow,由于要依据图片宽高来更新frame。这里就有一个进步页面功能的小技能:假如事前可以断定图片宽高的话,最幸亏HTML里写上。
在编写一些罕见的静态效果时,一样平常利用CSS的display来切换可见性。很不幸,这也会发生reflow.把元素置为display:none,相称于把这个元素的frame烧毁了,再置回非none时,必要从头机关frame,这就发生了reflow.而别的一个切换可见性的属性visibility则不存在reflow成绩,置为visibility:hidden的元素的frame并没有烧毁,必要显现的时分实在就是一个绘制(下面提到的举措第三步)历程罢了,没有reflow,因而效力会更高。假如你看过一些JavaScript库/框架的源码,会发明它们大批利用visibility而不是display,事理应当云云
</p>
对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。 |
|