css关于子级盒子浮动与不浮动的覆盖关系

问题:我们知道浮动经常使用在父级为标准流的盒子里面添加子级元素,需要注意的是,如果子级元素中存在一个浮动的话,那么其它的子级盒子都需要浮动,否则就会发生覆盖等问题了。

下面根据CSS和大家演示下

<body>
    <div>
        <div class="one">粉色</div>
        <div class="two">绿色</div>
        <div class="three">黄色</div>
    </div>
</body>

给这些盒子上设置

<style>
        /* 取消外边距和内边距 */
        * {
            margin: 0;
            padding: 0;
        }

        /* 设置父级盒子 并且使其居中显示 */
        div {
            width: 400px;
            height: 300px;
            background-color: rgb(85, 82, 82);
            margin: 100px auto;
        }

        /* 让子代盒子具有雏形 */
        div>div {
            width: 90px;
            height: 90px;
            float: left;
            background-color: pink;
            margin: 0;
        }

        /* 上颜色 */
        .two {
            background-color: green;
        }

        .three {
            background-color: yellow;
        }
    </style>

然后给出浏览器下的示意图

这就是正常的浮动 盒子与盒子之间紧紧靠在一起

现在我们取消绿色和黄色盒子的浮动

         /* 上颜色 */
        .two {
            background-color: green;
            float: none;
        }

        .three {
            background-color: yellow;
            float: none;
        }

效果如下:

通过检查方法可以发现 取消浮动的盒子称为块级元素 其中绿色方块被粉色方块压在下面,因为字体无处显示,出现文中的形态哈

在次实验,如果第一个不浮动,而是绿色和黄色浮动,那么绿色会漂浮覆盖掉粉色方格嘛??

 .one {
            float: none;
        }

        .two {
            background-color: green;

        }

        .three {
            background-color: yellow;

        }

 给出效果图:

 

原因:因为第一个块级元素,独占了一行,导致父级原本的区域就是被压缩了,要在压缩过后的区域浮动。

总结:

第一浮动 其它的不浮动 那么会发生覆盖现象

第一不浮动 其它浮动 第一个 独占一行 不发生浮动

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值