可视化格式模型是非常抽象的概念。它是 CSS 布局的核心,通过它,框( box )可以获得应有的尺寸,放到需要的位置。
我们通常所看到的页面都是平面 2D 的效果,但可视化模型却是 3D 的,除了 X 轴,Y 轴,还有决定元素显示顺序1的 Z 轴。 Z 轴垂直穿过计算机屏幕,面向用户的一侧是正轴,框在 Z 轴方向上离用户越近,显示越是靠前。
类似 Photoshop2 中图层的概念,我们可以把可视化格式模型想像成是一张一张叠起来的透明胶片, 每个透明胶片上都有一个或多个由元素形成的框,框的内容区域有图片文字等内容, 改变图层的顺序和属性(透明度以及图层叠加方式)可以改变图像的最后效果。
可视化格式模型的官方说法是,它规定了用户端在媒介中如何处理文档树( document tree )。以下是对其中关键词的解释:
可视化格式模型,不会规定所有格式的细节(比如,它并不是指字间距)。
本部分会涉及很多新概念,如包含块、元素的类型、定位体系、块级格式化上下文、行内格式化上下文、浮动、绝对定位和 z-index,以及可视化格式模型的细节部分,自动宽度高度的计算等。
注:
在可视化格式模型中,每一个元素都会根据框模型产生 0 个或多个框,而这些框的布局受某些因素的影响。下面一一介绍。
框的类型是指 display 特性所决定的元素类型,如:DIV 是块级元素,SPAN 是行内元素等。这个特性会使元素产生相应的控制框1。
框在布局时,根据三种定位体系定位。分别是,常规流、浮动和绝对定位2。
比如,一个块元素包含两个互为兄弟节点的浮动元素,后面那个浮动元素的布局,会受前面元素以及它包含块3的影响。
比如,可视窗口的大小会对布局有影响。有的页面要求自适应窗口大小,就是因为窗口大小对布局有影响。再比如,图片的固有尺寸,会影响行内替换元素的尺寸,进而影响这个布局。
注:
视口,即可视窗口。当可视窗口的尺寸大小改变时,浏览器应该改变文档的布局。 比如,有些值依赖于可视窗口的大小,DIV 'width' 的 "auto" 值,等等。
当可视窗口的尺寸小于文档渲染的画布(也就是页面)的大小时,浏览器应该提供滚动机制。 每个画布最多有一个可视窗口。但是,浏览器可以同时渲染多个画布。
操作系统版本: | Windows 7 Ultimate build 7600 |
---|---|
浏览器版本: |
IE6
IE7 IE8 Firefox 3.6.10 Chrome 7.0.517.0 dev Safari 5.0.2 Opera 10.62 |
测试页面: | |
本文更新时间: | 2010-09-20 |
可视格式化模型 布局 包含块 三维