zoukankan      html  css  js  c++  java
  • 圣杯布局和双飞翼布局

    为了实现一个两边宽度固定,中间宽度自适应的三栏布局。

    圣杯布局

    1、DOM解构:

    <div id=" head "> </div>

    <div id="container">

      <div id="center" class="floats"></div>

      <div id="left" class="floats"></div>

      <div id="right" class="floats"></div>

    </div>

    <div id="footer"></div>

    2、CSS

    首先先固定左右两边固定的宽度

    padding-left:100px;

    padding-right:50px;

    然后让三栏的div浮动,设置三栏的宽度,并且清除footer的浮动

    .container .floats{

      float:float;

    }

    #left{

      width:100px;

    }

    #right{

      width:50px;

    }

    #center{

      width:100%;

    }

    #footer{

      clean:both;

    }

    接着就是把左栏和右栏放在相应留出的位置上使用外负边距和相对定位。

    #left{

      margin-left:-100%;

      position:relative:

      right:100px;

    }

    #right{

      margin-right:-50px;

    }

    #center{

      width:100%;

    }

    这时候就布局完成了,但是要小心页面的最小宽度:应该是 100px+50px  ++++100px,因为用了position所以center区域还有一个left!

    双飞翼布局

    1、DOM解构

    <div id="header"></div>

    <div id="container" class="floats">

      <div id="center"></div>

    </div>

    <div id="left"></div>

    <div id="right"></div>

    <div id="footer"></div>

    2、然后和圣杯布局一样留出相应的区域

    #container{

      margin-left:100px;

      margin-right:50px;

    }

    接着把左右两栏放到相应的区域

    .floats{

      float:left;

    }

    #footer{

      clear:both;

    }

    #left{

      width:100px;

      margin-left:-100%;

    }

    #right{

      width:50px;

      margin-right:-50px;

    }

    因为这个布局没用定位所有最小页面宽度就是100px+50px。

  • 相关阅读:
    【YbtOJ#20068】连通子图
    【YbtOJ#20067】糖果分配
    【GMOJ6801】模拟patrick
    【GMOJ6800】模拟spongebob
    【洛谷P4449】于神之怒加强版
    【洛谷P3601】签到题
    【洛谷P2408】不同子串个数
    【洛谷P3809】【模板】后缀排序
    【JZOJ1753】锻炼身体
    【GMOJ1164】求和
  • 原文地址:https://www.cnblogs.com/qrf1997/p/11081496.html
Copyright © 2011-2022 走看看