美文网首页
CSS-布局4-双飞翼布局

CSS-布局4-双飞翼布局

作者: Java小工匠 | 来源:发表于2017-06-17 14:25 被阅读0次

    1、双飞翼布局概述

    双飞翼布局同样来源淘宝,可以说是借鉴了圣杯布局,同时也解决了圣杯布局使用相对定位的缺陷。

    2、双飞翼布局实现思路

    (1)与圣杯布局一样,利用负边距技术实现初步效果

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>双飞翼布局</title>
        <style type="text/css">
            *{
                margin:0px;
                padding:0px;
            }
            .header{
                background : yellow;
            }
            .left{
                width:198px;
                height:200px;
                float:left;
                border: 1px solid red;
                margin-left :-100%;
            }
            .right{
                width:198px;
                height:200px;
                border: 1px solid blue;
                float: left;
                margin-left :-200px;
            }
            .center{
                width : 100%;
                height:200px;
                float: left;
                background :gray;
            }
            .footer{
                background : blue;
            }
        </style>
    </head>
    <body>
        <div class="header">heder</div>
        <div class="container">
            <div class="center">center</div>
            <div class="left">left</div>
            <div class="right">right</div>
        </div>
        <div class="footer">footer</div>
    </body>
    </html>
    

    运行效果:

    image.png
    (2)在cetner元素中间添加一个元素,设置margin-left和margin-right
    center部分html源代码修改:
    <div class="center">
        <div class="center-inner">
        center
        </div>
    </div>
    

    center-inner 样式添加

    .center-inner{
        margin-left:200px;
        margin-right:200px;
        background:red;
    }
    

    运行效果:


    image.png

    3、等高双飞翼布局实现

    (1)使用包裹元素contianer的overflow:hidden 触发BFC。
    (2)使用 padding-bottom: 9999px; margin-bottom: -9999px;将元素展开,然后再把元素收回。
    源代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>双飞翼布局</title>
        <style type="text/css">
            *{
                margin:0px;
                padding:0px;
            }
            .header{
                background : yellow;
            }
            .container{
                overflow: hidden;
            }
            .left{
                width:198px;
                float:left;
                border: 1px solid red;
                margin-left :-100%;
                padding-bottom: 9999px;
                margin-bottom: -9999px;
            }
            .right{
                width:198px;
                border: 1px solid blue;
                float: left;
                margin-left :-200px;
                padding-bottom: 9999px;
                margin-bottom: -9999px;
            }
            .center{
                width : 100%;
                float: left;
                background :gray;
                padding-bottom: 9999px;
                margin-bottom: -9999px;
            }
            .center-inner{
                margin-left:200px;
                margin-right:200px;
                background:red;
            }
            .footer{
                background : blue;
            }
        </style>
    </head>
    <body>
        <div class="header">heder</div>
        <div class="container">
            <div class="center">
                <div class="center-inner">
                center<br/>
                center<br/>
                center<br/>
                </div>
            </div>
            <div class="left">left</div>
            <div class="right">right</div>
        </div>
        <div class="footer">footer</div>
    </body>
    </html>
    

    运行效果:

    image.png

    相关文章

      网友评论

          本文标题:CSS-布局4-双飞翼布局

          本文链接:https://www.haomeiwen.com/subject/vgavqxtx.html