国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS實例教程:reflow

2024-07-11 09:03:17
字體:
來源:轉載
供稿:網友

武林網(www.survivalescaperooms.com)文章簡介:在CSS規范中有一個渲染對象的概念,通常用一個盒子(box, rectangle)來表示。mozilla通過一個叫frame的對象對盒子進行操作。

在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,道理應該如此。

根據文中提到的reflow,想到的疑點:

<div>
<div>…content…</div>
<div><img src=”‘ /></div>
</div>
當在HTML里沒指定圖片的寬高時,reflow只是針對img元素還是它的父元素甚至更多祖先元素?

在常規頁面中大量用到的標簽切換情況也類似?你知道嗎?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 萍乡市| 襄垣县| 余姚市| 德庆县| 隆子县| 托里县| 鲁甸县| 阳信县| 乐业县| 济宁市| 分宜县| 贺兰县| 论坛| 平乡县| 社旗县| 遵义市| 会宁县| 昌平区| 阜城县| 牟定县| 三门峡市| 博野县| 安仁县| 衡阳县| 平利县| 江源县| 锦屏县| 佛山市| 内江市| 昌江| 包头市| 大新县| 加查县| 城市| 汕头市| 昌乐县| 自贡市| 睢宁县| 西贡区| 古浪县| 班戈县|