兩列自適應(yīng)布局

兩列自適應(yīng)布局是指左(右)側(cè)有一個(gè)寬度固定的側(cè)邊欄,另一列寬度自適應(yīng)。

一般我們有以下4種實(shí)現(xiàn)方式,廢話不多說(shuō),直接上代碼:

  • 通過(guò)將aside浮動(dòng),然后設(shè)置main的margin來(lái)實(shí)現(xiàn)
<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>兩列自適應(yīng)布局</title>
    <style>
        .wrapper {
            height: 300px;
        }

        .aside {
            float: left;
            height: 100%;
            width: 200px;
            background: red;
        }

        .main {
            margin-left: 210px;
            height: 100%;
            background: blue;
        }
    </style>
</head>

<body>
    <section class="wrapper">
        <aside class="aside"></aside>
        <section class="main">
            main main main main main main
        </section>
    </section>
</body>

</html>
  • 將aside浮動(dòng), 再將main設(shè)置為overflow: auto,觸發(fā)BFC形成獨(dú)立區(qū)域,達(dá)到效果。
<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>兩列自適應(yīng)布局</title>
    <style>
        .wrapper {
            height: 300px;
        }

        .aside {
            height: 100%;
            width: 200px;
            background: red;
            margin-right: 10px;
            float: left;
        }

        .main {
            overflow: auto;
            height: 100%;
            background: blue;
        }
    </style>
</head>

<body>
    <section class="wrapper">
        <aside class="aside"></aside>
        <section class="main">
            main main main main main main
        </section>
    </section>
</body>

</html>
  • 將aside設(shè)置為絕對(duì)定位,然后通過(guò)設(shè)置aside的width和wrapper的padding來(lái)實(shí)現(xiàn)
<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>兩列自適應(yīng)布局</title>
    <style>
        .wrapper {
            position: relative;
            padding-left: 210px;
            height: 300px;
        }

        .aside {
            position: absolute;
            left: 0;
            width: 200px;
            height: 100%;
            background: red;
        }

        .main {
            width: 100%;
            height: 100%;
            background: blue;
        }
    </style>
</head>

<body>
    <section class="wrapper">
        <aside class="aside"></aside>
        <section class="main">
            main main main main main main
        </section>
    </section>
</body>

</html>
  • 彈性布局
<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>兩列自適應(yīng)布局</title>
    <style>
        .wrapper {
            display: flex;
            height: 300px;
        }

        .aside {
            width: 200px;
            margin-right: 10px;
            background: red;
        }

        .main {
            flex: 1;
            background: blue;
        }
    </style>
</head>

<body>
    <section class="wrapper">
        <aside class="aside"></aside>
        <section class="main">
            main main main main main main
        </section>
    </section>
</body>

</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容