css中float与几种定位的关系

1,三种定位方式:relative,absolute,fixed.其中relative是相对于元素本身,absolute是相对于元素的第一个有定位的父级元素,fixed是相对于屏幕;
2,首先来解析第一个float与relative;

   <style>
        .parent{
            width:400px;
            height:300px;
            border:1px solid red;
        }
        .fl{
            float:left;
        }
        .item{
            width:100px;
            height:100%;
            border:1px solid  blue;
        }
        .child1{
            position: relative;
            top:0;
            left:0;
        }
    </style>
    <body>
    <div class="parent">
        <div class="child1 fl item"></div>
        <div class="child2 fl item"></div>
        <div class="child3 fl item"></div>
    </div>
</body>

然后如果child1元素既设置了浮动也设置了position:relative,
显示如图在这里插入图片描述
原因分析:child1元素既设置了float:left;又设置了position:relative,但是position:relative并不会覆盖float:left;它会使得浮动元素在浮动的位置上再相对定位;
3,float与absolute和fixed;

   <style>
        .parent{
            width:400px;
            height:300px;
            border:1px solid red;
            position: relative;
        }
        .fl{
            float:left;
        }
        .item{
            width:100px;
            height:100%;
            border:1px solid  blue;
        }
        .child1{
            position: absolute;
            top:0;
            left:0;
        }
        /*或者*/
         .child1{
            position: fixed;
            top:0;
            left:0;
        }
    </style>
    <body>
    <div class="parent">
        <div class="child1 fl item"></div>
        <div class="child2 fl item"></div>
        <div class="child3 fl item"></div>
    </div>
</body>

那么这时候生成的网页;
在这里插入图片描述
原因解析:当position为absolute或者fixed的时候,position定位会覆盖掉原来child1元素的float,使得浮动会失效,然后child2会移位到parent元素的最左边,与position:absolute定位元素item1相重叠

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值