CSS基础知识--position

本文详细解析了CSS中relative与absolute定位的区别及应用实例。relative定位使元素相对于其正常位置偏移,不脱离文档流;absolute定位则使元素相对于最近的非static定位祖先元素偏移,并脱离文档流。

http://blog.youkuaiyun.com/libertea/article/details/11662661

-----------position:relative:生成相对定位的元素,相对于其正常位置进行定位。---------------------------------------------------

<div style="width:100px; height:100px;">div1</div>
<div style="width:100px; height:100px;">div2</div>
<div style="width:100px; height:100px;">div3</div>

<div style="width:100px; height:100px;">div1</div>
<div style="width:100px; height:100px; position:relative; top:-20px; left:50px;">div2</div>
<div style="width:100px; height:100px;">div3</div>

top:-20px:距离top-20px             left:50px:距离左边50px,跟左边拉开距离50px,向元素的原始左侧位置增加 50 像素

div3并没有因为div2的上移而上移了,原因position:relative这个属性是没有脱离文档流的,所以元素div2本身所占的位置会保留。


-----------------------position:absolute:相对于 static 定位以外第一个父元素进行定位----------------------------------------------

position:absolute这个属性是脱离文档流的,所以重新定位后元素是不会占着原来的位置的

<div style="border:1px solid Red; padding:10px; width: 340px; height: 400px;">
    红色:太公
        <div style="border:1px solid Green; padding:10px; width: 320px; height: 360px;">
        绿色:爷爷
            <div style="border:1px solid Blue; padding:10px; width: 300px; height: 320px; position:relative;">
            蓝色:老爸
                <div style="width: 100px; height: 100px;">div1</div>
                <div style="width: 100px; height: 100px;">div2</div>
                <div style="width: 100px; height: 100px;">div3</div>
            </div>
      </div>
</div>

 

<div style="border:1px solid Red; padding:10px; width: 340px; height: 400px;">
    红色:太公
      <div style="border:1px solid Green; padding:10px; width: 320px; height: 360px;">
        绿色:爷爷
           <div style="border:1px solid Blue; padding:10px; width: 300px; height: 320px; position:relative;">
            蓝色:老爸
                <div style="width: 100px; height: 100px;">div1</div>
                <div style="width: 100px; height: 100px; position:absolute; left:120px; top:100px;">div2</div>
                <div style="width: 100px; height: 100px;">div3</div>
           </div>
      </div>
</div>

 div2原来的位置没有保留,div3向上填充

<div style="border:1px solid Red; padding:10px; width: 340px; height: 400px;">
    红色:太公
      <div style="border:1px solid Green; padding:10px; width: 320px; height: 360px; position: relative;">
        绿色:爷爷
           <div style="border:1px solid Blue; padding:10px; width: 300px; height: 320px;">
            蓝色:老爸
                <div style="width: 100px; height: 100px;">div1</div>
                <div style="width: 100px; height: 100px; position:absolute; left:120px; top:100px;">div2</div>
                <div style="width: 100px; height: 100px;">div3</div>
           </div>
      </div>
</div>

 

转载于:https://www.cnblogs.com/yumeixin/p/4991581.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值