双飞翼模型

131 阅读1分钟

定位

左右分别向左右定位,中间盒子不定位,设置margin/padding,这样,左右的两个盒子不占位置

<!-- 定位方式 -->
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <div class="content">
            <div class="left"></div>
            <div class="center"></div>
            <div class="right"></div>
        </div>
    </body>
</html>
<style>
    .content {
        height: 200px;
        position: relative;
    }
    .center {
        margin: 0px 200px;
        height: 200px;
        background-color: lightsalmon;
    }
    .left,
    .right {
        position: absolute;
        top: 0px;
        width: 200px;
        height: 200px;
        background-color: lightpink;
    }
    .left {
        left: 0px;
    }
    .right {
        right: 0px;
    }
</style>

浮动加calc

浮动就都在一层上,则是从左向右排列的,左右写死宽度,中间的用calc进行计算

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <div class="content">
            <div class="left"></div>
            <div class="center"></div>
            <div class="right"></div>
        </div>
    </body>
</html>
<style>
    .content {
        height: 200px;
    }
    .left,
    .right,
    .center {
        height: 200px;
        float: left;
    }
    .left,
    .right {
        width: 200px;
        background-color: lightseagreen;
        height: 200px;
    }
    .center {
        background-color: lightskyblue;
        width: calc(100% - 400px);
    }
</style>

弹性盒子

中间盒子设置flex:1

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <div class="content">
            <div class="left"></div>
            <div class="center"></div>
            <div class="right"></div>
        </div>
    </body>
</html>
<style>
    .content {
        height: 200px;
        display: flex;
    }
    .right,
    .left {
        height: 200px;
        width: 200px;
        background-color: lightpink;
    }
    .center {
        height: 200px;
        flex: 1;
        background-color: lightseagreen;
    }
</style>