绝对定位和相对定位详解
2016-02-16 11:47
148 查看
层级关系为:
<div ——————————— position:relative; 不是最近的祖先定位元素,不是参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————- position:relative 参照物
<div box1
<div box2 ——–position:absolute; top:50px; left:120px;
<div box3
效果图:
![](http://pic002.cnblogs.com/images/2012/422101/2012072618164674.jpg)
为改变参照物(橘色框)后的效果
层级关系为:
<div ——————————— position:relative;最近的祖先定位元素,参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————-没有设置为定位元素,不是参照物
<div box1
<div box2 ——–position:absolute; top:50px; left:120px;
<div box3
效果图:
![](http://pic002.cnblogs.com/images/2012/422101/2012072618180663.jpg)
参照物为最顶级的元素情况。
层级关系为:
<div ———————————没有设置为定位元素,不是参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————-没有设置为定位元素,不是参照物
<div box1
<div box2 ——–position:absolute; top:50px; left:120px;
<div box3
效果图:
![](http://pic002.cnblogs.com/images/2012/422101/2012072618185065.jpg)
仅使用margin属性布局绝对定位元素的情况
此情况,margin-bottom 和margin-right的值不再对文档流中的元素产生影响,因为该元素已经脱离了文档流。另外,不管它的祖先元素有没有定位,都是以文档流中原来所在的位置上偏移参照物。
图9中,使用margin属性布局相对定位元素。
层级关系为:
<div ——————————— position:relative; 不是参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————-没有设置为定位元素,不是参照物
<div box1
<div box2 ——–position:absolute; margin-top:50px; margin-left:120px;
<div box3
效果图:
![](http://pic002.cnblogs.com/images/2012/422101/2012072618431998.jpg)
IE6的情况下,box2前面没有兄弟节点,则margin-left的值会出现双倍边距,见图10。
层级关系为:
<div ——————————— position:relative; 不是参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————-没有设置为定位元素,不是参照物
<div box1
<div box2 ——–position:absolute; margin-top:50px; margin-left:60px;
<div box3
效果图:
<div ——————————— position:relative; 不是最近的祖先定位元素,不是参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————- position:relative 参照物
<div box1
<div box2 ——–position:absolute; top:50px; left:120px;
<div box3
效果图:
![](http://pic002.cnblogs.com/images/2012/422101/2012072618164674.jpg)
为改变参照物(橘色框)后的效果
层级关系为:
<div ——————————— position:relative;最近的祖先定位元素,参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————-没有设置为定位元素,不是参照物
<div box1
<div box2 ——–position:absolute; top:50px; left:120px;
<div box3
效果图:
![](http://pic002.cnblogs.com/images/2012/422101/2012072618180663.jpg)
参照物为最顶级的元素情况。
层级关系为:
<div ———————————没有设置为定位元素,不是参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————-没有设置为定位元素,不是参照物
<div box1
<div box2 ——–position:absolute; top:50px; left:120px;
<div box3
效果图:
![](http://pic002.cnblogs.com/images/2012/422101/2012072618185065.jpg)
仅使用margin属性布局绝对定位元素的情况
此情况,margin-bottom 和margin-right的值不再对文档流中的元素产生影响,因为该元素已经脱离了文档流。另外,不管它的祖先元素有没有定位,都是以文档流中原来所在的位置上偏移参照物。
图9中,使用margin属性布局相对定位元素。
层级关系为:
<div ——————————— position:relative; 不是参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————-没有设置为定位元素,不是参照物
<div box1
<div box2 ——–position:absolute; margin-top:50px; margin-left:120px;
<div box3
效果图:
![](http://pic002.cnblogs.com/images/2012/422101/2012072618431998.jpg)
IE6的情况下,box2前面没有兄弟节点,则margin-left的值会出现双倍边距,见图10。
层级关系为:
<div ——————————— position:relative; 不是参照物
<div—————————-没有设置为定位元素,不是参照物
<div———————-没有设置为定位元素,不是参照物
<div box1
<div box2 ——–position:absolute; margin-top:50px; margin-left:60px;
<div box3
效果图:
![](http://pic002.cnblogs.com/images/2012/422101/2012072618451464.jpg)
相关文章推荐
- Python中的编码
- servlet文件下载
- 2016年会成为Java EE微服务年吗?
- 2016年会成为Java EE微服务年吗?
- 2016年会成为Java EE微服务年吗?
- BZOJ_P2048 [2009国家集训队]书堆(调和级数+欧拉常数)
- TCP/IP、Http、Socket的区别
- Android2.3实现SD卡与U盘自动挂载的方法
- 解决Mac下Android SDK Manager联网失败的问题
- 将博客搬至CSDN
- 关于selenium中的sendKeys()隔几秒发送一个字符
- AJAX和JSP混合使用方法实例
- 我的规范小结
- 6.以表格单据式单表为模板定制模块:订单信息维护
- 轻松理解闭包
- ssh学习:hibernate关系映射(1)
- ssh学习:hibernate关系映射(2)
- ssh学习:hibernate关系映射(3)
- ssh学习:hibernate关系映射(4)
- ssh学习:hibernate关系映射(5)