zoukankan      html  css  js  c++  java
  • css布局,两边宽度固定,中间自适应

    布局效果

    方法一:flex布局

    父元素设置display: flex;

    子元素.left, .right都设置宽高为200px,.middle设置flex:1;

    贴上代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        .container {
            display: flex;
            width: 100%;
            height: 100%;
        }
        .left, .right {
            width: 200px;
            height: 200px;
        }
        .left {
            background: #ccc;
        }
        .right {
            background: pink;
        }
        .middle {
            flex: 1;
            height: 200px;
            background: #abcdef;
        }
    
        </style>
    </head>
    <body>
        <div class="container">
            <div class="left"></div>
            <div class="middle"></div>
            <div class="right"></div>
        </div>
    </body>
    <script>
    
    
    </script>
    </html>
    View Code

    方法二:float + margin

    元素.left, .right都设置宽高为200px, .left左浮动, .right右浮动。

    .middle设置margin: 0 200px;

    贴上代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
    
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        .container {
            width: 100%;
            height: 100%;
        }
        .left, .right {
            width: 200px;
            height: 200px;
        }
        .left {
            background: #ccc;
            float: left;
        }
        .right {
            background: pink;
            float: right;
        }
        .middle {
            height: 200px;
            background: #abcdef;
            margin: 0 200px;
        }
    
        </style>
    </head>
    <body>
        <div class="container">
            <div class="left"></div>
            <div class="right"></div>
            <div class="middle"></div>
        </div>
    </body>
    <script>
    
    
    </script>
    </html>
    View Code

    注意:middle要放在最后,因为float元素会为块级元素让出位置。如果middle在right前,则right会置于下一行(为块级元素middle让出一行位置)

    方法三:position + margin

    父元素设置position: relative, 子元素.left, .right都设置position: absolute, 200px, height: 200px;

    .left设置left: 0, top: 0; .right设置right: 0, top: 0;

    .middle设置margin: 0 200px;

    贴上代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
    
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        .container {
            width: 100%;
            height: 100%;
            position: relative;
        }
        .left, .right {
            width: 200px;
            height: 200px;
            position: absolute;
            top: 0;
        }
        .left {
            background: #ccc;
            left: 0;
        }
        .right {
            background: pink;
            right: 0;
        }
        .middle {
            height: 200px;
            background: #abcdef;
            margin: 0 200px;
        }
    
        </style>
    </head>
    <body>
        <div class="container">
            <div class="left"></div>
            <div class="right"></div>
            <div class="middle"></div>
        </div>
    </body>
    <script>
    
    
    </script>
    </html>
    View Code
    致力于前端技术学习与分享,会及时更新博客。
  • 相关阅读:
    人生,别认输,因为没人希望你赢
    一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
    Android Studio 出现 Gradle's dependency cache may be corrupt 解决方案
    清华梦的粉碎——转自王垠
    label smooth
    <现代C++实战30讲>笔记 01 | 堆、栈、RAII:C++里该如何管理资源?
    h5转pb的两个坑
    opencv库的像素x,y,width,height,col,row的对应关系
    detect 导图
    keras多gpu训练
  • 原文地址:https://www.cnblogs.com/caoxueying2018/p/10935858.html
Copyright © 2011-2022 走看看