清除浮动和flex布局

请问为什么我写的清除浮动代码无效啊。
还有。怎么用flex布局才可以让上面两个div横向排列撑满整个屏幕。第三个div充满最下面的位置啊
代码如下:`<body>

<article class="major">
      <div class="major_left"></div>
      <div class="major_right"></div>
      <footer class="foot"></footer>
</article>

</body>`

.major_left{
    float: left;
    width: 35%;
    height: 70vh;
    background: blue;
}
.major_right{
    float: left;
    width: 65%;
    height: 70vh;
    background: black;
}
.foot{
    width: 100%;
    height: 30vh;
    background: red
}
.foot:before{
    overflow: hidden;
    height: 0;
    clear: both;
    visibility:hidden;
    content: "";
    display: block;
}
阅读 14.1k
4 个回答

清除浮动生效的,只是你放错地方了而已

.foot{

    width: 100%;
    height: 30vh;
    background: red;
    clear: both;
    overflow: hidden;
}

正解

flex布局

    body{
        margin: 0;
    }
    .major{
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .major_left{
       height: 70vh;
       width: 35%;
       background: blue;
    }
    .major_right{
       flex: 1 1 auto;
       height: 70vh;
       background: black;
    }
    .foot{
        width: 100%;
        height: 30vh;
        background: red
    }
<article class="major">
    <div class="major_left"></div>
    <div class="major_right"></div>
</article>
<footer class="foot"></footer>
.major {
    display: flex;
}
.major_left {
    width: 35%;
    height: 70vh;
    background: blue;
}
.major_right {
    width: 65%;
    height: 70vh;
    background: black;
}
.foot {
    width: 100%;
    height: 30vh;
    background: red
}

flex的详细介绍可以参考阮一峰的文章:
语法篇:http://www.ruanyifeng.com/blo...^%$
实战篇:http://www.ruanyifeng.com/blo...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题