Div + CSS 进行网页布局,适当地运用 absolute 与 relative,能给布局带来意想不到的效果和方便,达到事半功倍,最近在有一篇关于 absolute 与 relative 的运用的文章,但讲解不全面,不容易读懂。下面我尝试写下一些我的看法,希望对你有帮助…
详细讲解两者的关系,需要配合例子,请先看例子:
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
absolute:绝对定位,CSS 写法“ position: absolute; ”,它的定位分两种情况,如下:
1. 没有设定 Top、Right、Bottom、Left 的情况,默认依据父级的“内容区域原始点”为原始点,上面例子红色部分(父级黄色区域有 Padding 属性,“坐标原始点”和“内容区域原始点”不一样)。
2. 有设定 Top、Right、Bottom、Left 的情况,这里又分了两种情况如下:
(1). 父级没 position 属性,浏览器左上角(即 Body)为“坐标原始点”进行定位,位置由 Top、Right、Bottom、Left 属性决定,上面例子绿色部分。
(2). 父级有 position 属性,父级的“坐标原始点”为原始点,上面例子浅蓝色部分。
relative:相对定位,CSS 写法“ position: relative; ”,参照父级的“内容区域原始点”为原始点,无父级则以 Body 的“内容区域原始点”为原始点,位置由 Top、Right、Bottom、Left 属性决定,且有“撑开或占据高度”的作用,上面例子橙色部分。
通过上面的例子和讲解,相信熟练运用 absolute 与 relative 并不是一件很困难的事,我们周围有不少关于 absolute 与 relative 的好例子,比如“网易163免费邮”首页(http://mail.163.com),里面就有大量的运用。
例子代码在 IE5.5、IE6、FF1.5、Opera9 测试通过。

收藏到QQ书签