圣杯布局与双飞翼布局

圣杯布局和双飞翼布局都是两边固定,中间内容自适应,当中列要完全显示,中间列要优先加载

圣杯布局

圣杯布局首先要用float搭建完整的布局框架,让middle,left,right都浮动,给left设置一个margin-left:-100%,此时left区域上去并靠左,给right设置一个margin-left:-200px,此时right区域上去并靠右,设置content的padding,上下为0,左右为200px,左右让出200px给left,right,但是left,right也跟着过去,接着给left,right设置相对定位,left区域left:-200px,right区域right:-200px

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>圣杯布局</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .header , .footer{
            height: 50px;
            text-align: center;
            background-color: aquamarine;
            border: 1px solid black;
        }
        .content{
            padding: 0 200px;
        }
        .content .middle{
            float: left;
            width: 100%;
            background-color: pink;
        }
        .content .left{
            position: relative;
            left: -200px;
            margin-left: -100%;
            float: left;
            width: 200px;
            background-color: salmon;
        }
        .content .right{
            position: relative;
            right: -200px;
            margin-left: -200px;
            float: left;
            width: 200px;
            background-color: salmon;
        }
        .clearfix{
            *zoom: 1;
        }
        .clearfix:after{
            content: "";
            display: block;
            clear: both;
        }
    </style>
</head>
<body>
    <div class="header">

    </div>
    <div class="content clearfix">
        <div class="middle">middle</div>
        <div class="left">left
        </div>
        <div class="right">right</div>
    </div>
    <div class="footer">

    </div>
</body>
</html>

双飞翼布局

双飞翼布局前三步与圣杯布局一样,主要区别在中间内容的处理上,在里面middle增加一个inner,给inner设置padding:0 200px,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>双飞翼布局</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        body{
            min-width: 600px;
        }
        /* 三列的伪等高布局 */
        #content .middle,#content .left,#content .right{
            /* padding-bottom: 10000px;
            margin-bottom: -10000px; */
            height: 50px;
            float: left;
            line-height: 50px;
        }
        #header,#footer{
            border: 1px solid black;
            text-align: center;
            background-color: deeppink;
        }
        /* 双飞翼布局 */
        #content{
            overflow: hidden;
        }
        #content .middle{
            background-color: darksalmon;
            width: 100%;
        }
        #content .middle .m_inner{
            padding: 0 200px;
        }
        #content .left,#content .right{
            background-color: darkseagreen;
            width: 200px;
            text-align: center;
        }
        #content .left{
            margin-left: -100%;
        }
        #content .right{
            margin-left: -200px;
        }

    </style>
</head>
<body>
    <div id="header">
        <h3>header</h3> 
    </div>
    <div id="content">
        <div class="middle">
            <div class="m_inner">
                middle
            </div>
        </div>
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
    <div id="footer">
        <h3>footer</h3>
    </div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值