码迷,mamicode.com
首页 > 其他好文 > 详细

实现页面两边固定中间自动伸缩

时间:2021-03-29 12:20:24      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:spl   html   tab   高度   mamicode   back   tle   src   ack   

效果图:

技术图片

代码如下:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        *{
            margin:0px;
            border: 0px;
            box-sizing:border-box;
        }
        div{
            border: 1px solid black;
        }
        .left{
            height: 100px;
            width: 100px;
            background-color: red;
        }
        .right{
            height: 100px;
            width: 100px;
            background-color: blue;
        }
        .center{
            height: 100px;
        }

        .floatDiv .left{
            float: left;            
        }
        .floatDiv .right{
            float: right;            
        }
        .floatDiv .center{

        }
        
        .positionDiv .left{
            position: absolute;
            left: 0px;
        }
        .positionDiv .right{
            position: absolute;
            right: 0px;
        }
        .positionDiv .center{
            margin-left: 100px;
            margin-right: 100px;
        }

        .tableDiv{
            display: table;
            width:100%;
        }
        .tableDiv .left{
            display: table-cell;
        }
        .tableDiv .right{
            display: table-cell;
        }
        .tableDiv .center{
            display: table-cell;
        }

        .flexDiv{
            display:flex;
        }
        .flexDiv .left{
            
        }
        .flexDiv .right{
            
        }
        .flexDiv .center{
            flex:1;
        }

        .gridDiv{
            display: grid;
            width: 100%;
            grid-template-rows:100px;
            grid-template-columns:100px auto 100px;
        }
        .gridDiv .left{
            
        }
        .gridDiv .right{
            
        }
        .gridDiv .center{

        }

    </style>
</head>
<body>
    <h1>float实现布局</h1>
    <div class="floatDiv">
        <div class="left"></div>
        <div class="right"></div>
        <div class="center">
            float布局时,居中的div必须要放在最后。居中的div的模型宽度为整个页面,但是展示的时候会在可视范围内展示。即不会展示大屏居左或者居右的div下面。
            <strong>
                因为float的初衷是实现文字环绕图片
            </strong>
            ,当我们缩小浏览器的宽度时,会发现文字会环绕在居左和居右的div周围。
        </div>
    </div>
    <br/><br/>
    <h1>position实现布局</h1>
    <div class="positionDiv">
        <div class="left"></div>        
        <div class="right"></div>
        <div class="center">
            position布局时,居中的div必须放到最后。
            <strong>
                与float不同的事,文字会被左右的div遮盖
            </strong>
            ,所以需要使用margin-left:100px;来调整div
        </div>
    </div>

    <h1>table + table-cell实现布局</h1>
    <div class="tableDiv">
        <div class="left"></div>
        <div class="center">
            使用display:table实现左中右时,
            <strong>
                居中的div必须放中间
            </strong>
            。另外,父元素必须设置width:100%; 。并且,居中的div的宽度不再为页面的宽度
        </div>        
        <div class="right"></div>        
    </div>
    
    <h1>flex实现布局</h1>
    <div class="flexDiv">
        <div class="left"></div>
        <div class="center">
            使用flex实现左中右时,居中的div设置flex:1,居中的div的宽度不再为页面的宽度
        </div>        
        <div class="right"></div>        
    </div>

    <h1>grid实现布局</h1>
    <div class="gridDiv">
        <div class="left"></div>
        <div class="center">
            使用grid实现左中右时,网格内部的div的宽度和高度都由父标签设置!
        </div>        
        <div class="right"></div>        
    </div>
    
</body>
</html>

实现页面两边固定中间自动伸缩

标签:spl   html   tab   高度   mamicode   back   tle   src   ack   

原文地址:https://www.cnblogs.com/mu--yu/p/14584997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!