三栏布局 - 四种实现方式(flex/float/grid/position定位)

弹性盒子(flex)布局实现

<!DOCTYPE html>
<html lang="en">
<head>
    <title>三栏布局 flex</title>
    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
            height: 100vh;
        }
        .container {
            display: flex;
            height: 100%;
        }
        .left,.right {
            width: 200px;
        }
        .main {
            flex: 1;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left" style="background-color: bisque;"></div>
        <div class="main" style="background-color: aqua;"></div>
        <div class="right" style="background-color: blue;"></div>
    </div>
</body>
</html>

浮动(float)布局实现

<!DOCTYPE html>
<html lang="en">
<head>
    <title>三栏布局 float</title>
    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
            height: 100vh;
        }
        .container {
            width: 100%;
            height: 100%;
        }
        .left {
            float: left;
            width: 200px;
            height: 100%;
        }
        .right {
            float: right;
            width: 200px;
            height: 100%;
        }
        .main {
            margin-left: 200px;
            margin-right: 200px;
            height: 100%;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left" style="background-color: bisque;"></div>
        <div class="right" style="background-color: blue;"></div>
        <div class="main" style="background-color: aqua;"></div>
    </div>
</body>
</html>

定位(position)布局实现

<!DOCTYPE html>
<html lang="en">
<head>
    <title>三栏布局 position</title>
    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
            height: 100vh;
        }
        .container {
            position: relative;
            width: 100%;
            height: 100%;
        }
        .left,.right {
            position: absolute;
            width: 200px;
            height: 100%;
        }
        .left {
            left: 0;
        }
        .right {
            right: 0;
        }
        .main {
            height: 100%;
            width: calc(100% - 400px);
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left" style="background-color: bisque;"></div>
        <div class="main" style="background-color: aqua;">主体内容</div>
        <div class="right" style="background-color: blue;"></div>
    </div>
</body>
</html>

网格(grid)布局实现

<!DOCTYPE html>
<html lang="en">
<head>
    <title>三栏布局 grid</title>
    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
            height: 100vh;
        }
        .container {
            display: grid;
            width: 100%;
            height: 100%;
            grid-template-columns: 200px 1fr 200px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left" style="background-color: bisque;"></div>
        <div class="main" style="background-color: aqua;">主体内容</div>
        <div class="right" style="background-color: blue;"></div>
    </div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值