CSS总结(七)——常见的两栏、三栏布局

一、两栏布局 — 左栏固定宽度,右栏宽度自适应
 
     1、 左浮动+margin
           <div class=“left”></div>
           <div class=“main”></div>
       css:  .left{width:200px;float:left;}
               .main{margin-left:200px;}
ps:    IE6中可能出现双margin的bug,可以通过display:inline来解决
 
       2、  绝对定位 + margin-left (兼容性好)
          <div class=“parent">
            <div class=“left”></div>
            <div class=“main”></div>
          </div>
       css: .parent{position:relative;}
               .left{position:absolute;width:200px;}
               .main{margin-left:200px;}
 
      3、  左浮动 + 负margin
          <div class=“main-box">
            <div class=“main”></div>
          </div>
          <div class=“left”></div>
        css:  .main-box {float:left;width:100%;}
                 .main {margin-left:210px;}
                 .left{float:left;width:200px;margin-left:-100%;}
 
二、 三栏布局 
 
  1、 绝对定位法(左右两栏绝对定位,中间栏自适应)
       <body>
        <div id = “left”></div>
        <div id = “main”></div>
        <div id = “right”></div>
      </boby>
css :      html,body{margin:0;height:100%;}
             #left,#right{position:absolute;top:0;width:200px;height:100%;}
             #left{left:0;}
             #right{right:0;}
             #main{margin:0  210px;height:100%;} 
 
 2、  margin负值法
      <body>
        <div id = “main”>
           <div id = “body”></div>
     </div>
        <div id = “left”></div>
        <div id = “right”></div>
      </boby>
   css:   html,body{margin:0;height:100%;}
            #main{width:100%;height:100%;float:left;}
            #main,#body{margin:0  210px; height:100%;}
            #left;#right{width:200px;height:100%;float:left;}
            #left{margin-left:-100%;}
            #right{margin-right:-200px;}
 
 3、  自身浮动法(左栏左浮动,右栏右浮动,主体放后面)     
     <body>
        <div id = “left”></div>
        <div id = “right”></div>
        <div id = “main”></div>
      </boby>
  css:   html,body{margin:0;height:100%;}
             #main {height:100%;margin:0 210px;}
             #left,#right {width:200px;height:100%;}
             #left{float:left;}
             #right{float:right;}
posted @ 2016-03-21 18:05  Krystal_M  阅读(292)  评论(0编辑  收藏  举报