双飞翼布局

双飞翼布局与圣杯布局的区别就在于中间栏自适应的处理不同

圣杯布局对中间栏的处理是直接使用中间部分的padding或者是margin值来显示中间的内容,而双飞翼则是在中间栏中再添加一个容器main的div,让内容在main中显示。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>双飞翼</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        body{
            min-width: 500px;
            background-color: antiquewhite;
        }

        #header{
            width: 100%;
            height: 100px;
            background-color: coral;
        }
        #contenter{
            width: 100%;
            height: 300px;
            /* 因为浮动的原因,left和right两栏均在中间栏的上面,所以中间栏的内容
            会被遮挡住,故而设置padding值  把左右两栏的位置留出来
            分别设置左右内边距的值为左右两栏的固定宽度值*/
            padding-left: 200px;
            padding-right: 150px;
        }
        /*圣杯和双飞翼的主要区别就在这里,双飞翼采取的是在新建一个容器*/
        #main{
            width: 100%;
            height: 300px;
            background-color: pink;
            float: left;
        }
        /*#main{*/
            /*adding-left: 200px;*/
            /*padding-right: 150px;*/
        /*}*/
        #left{
            width: 200px;
            height: 300px;
            /* 在设置浮动之后三栏应该在同一行上,因为中间栏是自适应宽度
            所以left和right被挤到下一行,因而要设置left的margin-left为-100%
            把left拉回到中间栏的最左侧 */
            margin-left: -100%;

            /* 这里设置相对定位是为了让左侧挡住的中间栏部分内容显示出来 */
            position: relative;
            left: -200px;
            background-color: hotpink;
            float: left;
        }
        #right{
            width: 150px;
            height: 300px;
            margin-left: -200px;
            position: relative;
            left: -150px;
            background-color: deeppink;
            float: left;
        }
        #footer{
            width: 100%;
            height: 100px;
            clear: left;
            background-color: coral;
        }
    </style>
</head>
<body>
<div id="header">header</div>
<div id="contenter">
    <div id="middle">
<!--        这里是新建的一个容器-->
        <div id="main">
            middle
        </div>
    </div>
    <div id="left">left</div>
    <div id="right">right</div>
</div>
<div id="footer" class=clearfloat"">footer</div>
</body>
</html>

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值