欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端js布局——BFC与浮动

程序员文章站 2022-03-29 14:50:16
...
<!DOCTYPE html>
<html>

<head>
    <style>
        .left {
            background: yellow;
            float: left;
            width: 20%;
        }

        .middle {
            background: blue;
            overflow: hidden;
        }

        .right {
            background: red;
            width: 180px;
            float: right;
        }
    </style>
</head>

<body>
    <div class="left">left</div>
    <div class="middle">middle</div>
    <div class="right">right</div>
</body>

</html>

结果:

前端js布局——BFC与浮动

letf:看不全?设置了margin,然后能看清了:

前端js布局——BFC与浮动

我们发现右边掉下来了。原因是:自适应的盒子是优先渲染的,就是运行到自适应盒子,它就开始渲染,不管后面有什么盒子。例如把middle这个盒子放最开始上面,会优先渲染:

前端js布局——BFC与浮动

那么,如果把自适应放到最后面,是不是就不会有盒子下沉?果然可以:

前端js布局——BFC与浮动


因为,如图,可以让div.right盒子先渲染,原理是浮动元素脱离文档流,并提前浮动到右边,且 BFC 元素与浮动元素不会相互覆盖,此时div.middle再去占有剩余宽度就可以了。

参考:

BFC 浮动  圣杯布局  https://blog.csdn.net/weixin_43307658/article/details/86658046

https://www.jianshu.com/p/d94c6b679739