zoukankan      html  css  js  c++  java
  • 水平方向三栏布局

    高度已知,左右宽度固定为200px,中间自适应。

    方案一:浮动

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .wrap div{
                min-height: 200px;
            }
            .left{
                float: left;
                width: 200px;
                background: green;
            }
            .center{
                background: #999;
            }
            .right{
                float: right;
                width: 200px;
                background: red;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="left"></div>
            <div class="right"></div>
            <div class="center">
                1.这是三栏布局的浮动解决方案;
                2.这是三栏布局的浮动解决方案;
                3.这是三栏布局的浮动解决方案;
                4.这是三栏布局的浮动解决方案;
                5.这是三栏布局的浮动解决方案;
                6.这是三栏布局的浮动解决方案;
            </div>
        </div>
    </body>
    </html>

    此方式注意一点:书写div时,中间自适应的部分,写在left和right之后

    方案二:绝对定位

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .wrap{
                position: relative;
            }
            .wrap div{
                min-height: 200px;
            }
            .left{
                position: absolute;
                left: 0;
                top: 0;
                width: 200px;
                background: green;
            }
            .center{
                position: absolute;
                left: 200px;
                right: 200px;
                top: 0;
                background: #999;
            }
            .right{
                position: absolute;
                right: 0;
                top: 0;
                width: 200px;
                background: red;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="left"></div>
            <div class="center">
                1.这是三栏布局的绝对定位解决方案;
                2.这是三栏布局的绝对定位解决方案;
                3.这是三栏布局的绝对定位解决方案;
                4.这是三栏布局的绝对定位解决方案;
                5.这是三栏布局的绝对定位解决方案;
                6.这是三栏布局的绝对定位解决方案;
            </div>
            <div class="right"></div>
        </div>
    </body>
    </html>

    注意center的定位需同时进行左右定位

    方案三:flex布局

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .wrap{
                display: flex;
            }
            .wrap div{
                min-height: 200px;
            }
            .left{
                width: 200px;
                background: green;
            }
            .center{
                flex:1;
                background: #999;
            }
            .right{
                width: 200px;
                background: red;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="left"></div>
            <div class="center">
                1.这是三栏布局的flex解决方案;
                2.这是三栏布局的flex解决方案;
                3.这是三栏布局的flex解决方案;
                4.这是三栏布局的flex解决方案;
                5.这是三栏布局的flex解决方案;
                6.这是三栏布局的flex解决方案;
            </div>
            <div class="right"></div>
        </div>
    </body>
    </html>

    父级使用display:flex;定宽的直接给width设置为固定值;不定宽的设置flex:1

    方案四:浮动加计算

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .wrap div{
                min-height: 200px;
                float: left;
            }
            .left{
                width: 200px;
                background: green;
            }
            .center{
                width: calc(100% - 400px);
                background: #999;
            }
            .right{
                width: 200px;
                background: red;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="left"></div>
            <div class="center">
                1.这是三栏布局的浮动+计算解决方案;
                2.这是三栏布局的浮动+计算解决方案;
                3.这是三栏布局的浮动+计算解决方案;
                4.这是三栏布局的浮动+计算解决方案;
                5.这是三栏布局的浮动+计算解决方案;
                6.这是三栏布局的浮动+计算解决方案;
            </div>
            <div class="right"></div>
        </div>
    </body>
    </html>

    左中右向左浮动,宽度不固定部分使用计算方式(calc(100% - 400px))即可

    方案五:表格布局

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .wrap{
                display: table;
            }
            .wrap div{
                display: table-cell;
                min-height: 200px;
            }
            .left{
                width: 200px;
                background: green;
            }
            .center{
                background: #999;
            }
            .right{
                width: 200px;
                background: red;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="left"></div>
            <div class="center">
                1.这是三栏布局的表格布局解决方案;
                2.这是三栏布局的表格布局解决方案;
                3.这是三栏布局的表格布局解决方案;
                4.这是三栏布局的表格布局解决方案;
                5.这是三栏布局的表格布局解决方案;
                6.这是三栏布局的表格布局解决方案;
            </div>
            <div class="right"></div>
        </div>
    </body>
    </html>

    父级display:table;子级display:table-cell;宽度固定的给宽度,宽度不固定的不给宽度

    方案六:网格布局(grid)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .wrap{
                width: 100%;
                display: grid;
                grid-template-rows: 200px;
                grid-template-columns: 200px auto 200px;
            }
            .left{
                background: green;
            }
            .center{
                background: #999;
            }
            .right{
                background: red;
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="left"></div>
            <div class="center">
                1.这是三栏布局的网格布局解决方案;
                2.这是三栏布局的网格布局解决方案;
                3.这是三栏布局的网格布局解决方案;
                4.这是三栏布局的网格布局解决方案;
                5.这是三栏布局的网格布局解决方案;
                6.这是三栏布局的网格布局解决方案;
            </div>
            <div class="right"></div>
        </div>
    </body>
    </html>

    父级display:grid;grid-template-rows设置网格的高度;grid-template-columns: 200px auto 200px;每一个网格的宽度

  • 相关阅读:
    暂时收藏了
    SQL基础教程(第2版)第8章 SQL高级处理:8-1 窗口函数
    SQL基础教程(第2版)第7章 集合运算:练习题
    SQL基础教程(第2版)第7章 集合运算:7-2 联结(以列为单位对表进行联结)
    SQL基础教程(第2版)第7章 集合运算:7-1 表的加减法
    SQL基础教程(第2版)第6章 函数、谓词、CASE表达式:练习题
    SQL基础教程(第2版)第6章 函数、谓词、CASE表达式:6-3 CASE表达式
    SQL基础教程(第2版)第6章 函数、谓词、CASE表达式:6-2 谓词
    iOS 数据格式
    Podfile grammar
  • 原文地址:https://www.cnblogs.com/sghy/p/9629035.html
Copyright © 2011-2022 走看看