双飞翼布局

三栏布局(两栏布局):侧栏宽度固定,中间的主内容区域宽度自适应
主要原理,对浮动元素设置 负margin = 自身宽度,会使元素上移。
html代码

    <div id="content">
        <div class="main">
            <div class="wrap">main</div>
        </div>
        <div class="aside">aside</div>
        <div class="extra">extra</div>
    </div>

CSS代码

    .aside{
        width: 50px;
        height: 60px;
        background-color: red;
    }
    .extra{
        width: 50px;
        height: 60px;
        background-color: green;
    }
    .main{
        width: 100%;
        background-color: #ccc;
        height: 100px;
    }

设置三个元素浮动,并设置相应元素的负margin后,元素会上移。当然浮动后需要清除浮动,这里不做介绍,详情见BFC博客
CSS代码

    .aside{
        width: 50px;
        height: 60px;
        background-color: red;
        float: left;
        margin-left: -100%;/*父容器的宽度*/
    }
    .extra{
        width: 50px;
        height: 60px;
        background-color: green;
        float: left;
        margin-left: -50px;/*容器自身的宽度*/
    }
    .main{
        width: 100%;/*必须设置,浮动后元素宽度会塌陷*/
        background-color: #ccc;
        height: 100px;
        float: left;
    }

当然,此时仍有一些问题,比如.main被遮盖住了一部分。

  • 对主内容区域设置margin
    .wrap{
            margin: 0 60px;
            background-color: blue;
            height: 100%;
        }

与圣杯布局的区别在于,html代码中

    <div id="content">
        <div class="main">
            <div class="wrap">main</div>/*difference*/
        </div>
        <div class="aside">aside</div>
        <div class="extra">extra</div>
    </div>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,792评论 1 92
  • 双飞翼布局和BFC 之前看到了一些面试题中,面试官会问到如果实现双飞翼布局或者是圣杯布局,这两个布局的理念基本是类...
    LucasDog阅读 1,070评论 0 4
  • 首先谈谈三栏布局 三栏布局长什么样子?三栏布局是左右两侧浮动,而中间宽度自适应不浮动做出的效果。三栏布局 三栏布局...
    大春春阅读 2,053评论 5 24
  • 1.瀑布流布局 思路:要求:当图片宽度相同,高度不同时;如何做一面图片墙;每次图片加载到每列最低的位置;1.图片的...
    饥人谷_楠柒阅读 2,506评论 2 54
  • 在前端布局中,事实上,圣杯布局其实和双飞翼布局是一回事。它们实现的都是三栏布局,两边的盒子宽度固定,中间盒子自适应...
    风铭阅读 1,481评论 1 6