前端开发那些事儿让前端飞JavaScript笔记本

两栏布局-CSS

2020-11-17  本文已影响0人  AlbertZX

布局是面试中和实际开发中经常遇到的问题,常见的有两栏布局、三栏布局等。想起来之前的一次某团的面试,要求用尽可能多的方法实现左侧固定宽度、右侧自适应的两栏布局,现整理一份最常见的实现两栏布局的几种方法,简单易懂,可作为前端面试准备资料。

0.HTML结构如下:
    <div class="main">
        <div class="left">
        </div>
        <div class="right">
        </div>
    </div>
1.利用浮动float
    <style>
        .main {
            overflow: hidden;
        }
        .left {
            /* 左栏设置左浮动 */
            float: left;
            width: 400px;
            height: 500px;
            background: red;
        }
        .right {
            /* 右栏设置一个左外间距,值为左栏的宽度 */
            margin-left: 400px;
            background: blue;
            height: 500px;
        }
    </style>
2.利用定位position
    <style>
        /* 子绝父相 */
        .main {
            overflow: hidden;
            position: relative;
        }
        .left {
            position: absolute;
            left: 0;
            top: 0;
            width: 400px;
            height: 500px;
            background: red;
        }
        .right {
            /* 右栏设置一个左外间距,值为左栏的宽度 */
            margin-left: 400px;
            height: 500px;
            background: blue;
        }
    </style>
3.利用弹性布局flex
    <style>
        .main {
            display: flex;
        }
        .left {
            height: 500px;
            background: red;
            flex: 0 0 400px
        }
        .right {
            background: blue;
            height: 500px;
            flex: 1;
        }
    </style>
4.利用表格布局table
<style>
    .main {
        display: table;
        width: 100%;
    }
    .left {
        display: table-cell;
        width: 400px;
        height: 500px;
        background: red;
    }
    .right {
        display: table-cell;
        background:blue;
        height: 500px;
    }
</style>

【作者水平有限,欢迎大家在评论区交流指正~】

上一篇下一篇

猜你喜欢

热点阅读