• 圣杯布局 和 双飞翼布局


    圣杯布局和双飞翼布局的目的:

      1.三栏布局,中间一栏最先加载和渲染(内容最重要)

      2. 两侧内容固定,中间内容随着宽度自适应

      3. 一般用于 PC 网页

    圣杯布局实现思路:

      1. 将最外层的container的padding 设置为 padding: 0 150px 0 200px; 为左右两块让出空间;

      2. 将.middle,.left ,.right 三者设为浮动;

      3. 将middle 的 width设置为 100%;

      4. 分别给.left设置margin-left,.right设置margin-right;将left 和right 拉到与middle同一水平;

      5. 再用定位将左右位置设置好

    圣杯布局具体代码实现:

      html代码:

    <div class="container">
            <div class="middle">middle</div>
            <div class="left">left</div>
            <div class="right">right</div>
        </div>

      css代码:

       .container{
            padding: 0 150px 0 200px;
            overflow: hidden;
        }
        .middle,.left,.right{
            float: left;
            height: 200px;
        }
        .left{
            position: relative;
            width: 200px;
            margin-left: -100%;
            left:-200px;
            background-color: red;
        }
        .middle{
            width: 100%;
            background-color: blue;
        }
        .right{
            width: 150px;
            margin-right: -150px;
            background-color: yellow;
        }        

    双飞翼布局实现思路:

      1. 将 .middle,.left,.right 设置为浮动

      2. 给 middle 的width 设置为100%

      3. 给.middle里加一个.middle-inner ,设置margin-left、margin-right,为.left 和 .right留出位置;

      4.分别给.left 设置margin-left ,.right 设置margin-left,将.left和 .right拉到与.middle同一水平;

    双飞翼布局代码实现:

      html 代码:

        <div class="middle">
            <div class="middle-inner">center</div>
        </div>
        <div class="left">left</div>
        <div class="right">right</div>        

    css代码:

       .middle,.left,.right{
            float: left;
            height: 200px;
        }
        .middle{
            width: 100%;
            background-color: blue;
        }
        .middle-inner{
            margin: 0 150px 0 200px;
        }
        .left{
            width: 200px;
            margin-left: -100%;
            background-color: red;
        }
        .right{
            width: 150px;
            margin-left: -150px;
            background-color: yellow;
        }

    双飞翼布局和圣杯布局实现的相同点:

      1. 都用了浮动  float:left;

      2.都利用margin 负值,将两边拉到同一水平;

      3. 将中间宽度width设置为100%;

    双飞翼布局和圣杯布局实现的区别:

      1.圣杯布局用最外层container的padding为左右腾出空间。二双飞翼布局是在中间middle里加了一个middle-inner,并为左右腾出空间;

      2. 圣杯布局用到了定位position,二双飞翼布局不需要用到;

  • 相关阅读:
    佛洛依德
    Python2.7利用Tesseract进行中英文图像识别
    批量生成二维码打包成exe文件
    python基础5—文件 | json序列化
    python基础6—(高阶,匿名,偏)函数 | 装饰器
    python基础4—面向对象
    python基础2—集合框架
    一不小心翻车了-(angularjs 1.6X) 由Eventbus使用异常说起
    简单说下js闭包之setTimeout
    html5上传本地图片,在线预览及裁剪(filereader,canvas)
  • 原文地址:https://www.cnblogs.com/yangkangkang/p/11344985.html
Copyright © 2020-2023  润新知