圣杯布局和淘宝双飞翼布局

圣杯布局和淘宝双飞翼布局的目的都是实现:左右两栏固定宽度,中间部分自适应。
差别:解决遮盖的方式有区别。
废话不多说直接开始撸demo。

圣杯布局

原理:

  • 浮动
  • 盒子模型
  • 相对定位

代码:





 
 
 
 Document
 



 

我是middle

我是内容部分我是内容部分我是内容部分我是内容部分我是内容部分我是内容部分我是内容部分我是内容部分

我是left

我是left的内容

我是right的内容

我是right的内容

解释一下:其中我们主要关注样式
我们把实现步骤分为三步:

  1. 使middle,left,right三个元素浮动
    .box {
     padding: 0 200px 0 200px;
    }
    .left,
    .right {
     width: 200px;
    }
    .middle {
     width: 100%;
     background: red;
    }
    .middle,
    .left,
    .right {
      float: left;
      min-height: 400px;  //  设置最小高度
    }
    
  2. middle,left,right 在一行显示
 .left {
   margin-left: -100%;  
 }
 .right {
   margin-left: -200px;
 }
  1. 解决遮盖
  .box {
     padding: 0 200px 0 200px;
     overflow: hidden;
   }
   .left {
     position: relative;
     left:-200px
   }
   .right {
     position: relative;
     right:-200px
   }

淘宝双飞翼布局

原理:

  • 浮动
  • 盒子模型
    代码:




  
  
  
  Document
  



  
  

我是middle

我是内容部分我是内容部分我是内容部分我是内容部分我是内容部分我是内容部分我是内容部分我是内容部分

我是left

我是left的内容

我是right的内容

我是right的内容

解释一下:双飞翼布局只是在解决遮盖时,与圣杯布局有差别。而且实现很简单:只是在内部元素添加margin即可

  .middle-in{
     margin: 0 200px;
  }

总结:
两种方式皆可实现,个人觉得第二种更简单。

你可能感兴趣的:(圣杯布局和淘宝双飞翼布局)