右边自适应 左右布局_css圣杯布局-左右固定中间自适应

da791bbcaebf0647b330d953f86c6e00.png

在前端经常遇到一道css的面试题:圣杯布局;我的理解就是布局的时候像一个圣杯

实现的思路:

1.中间的盒子放在最上面,宽度设置为100%,都三个盒子都设置左浮动。这时左右的盒子就掉在了第二行。

2.左边的盒子使用负margin-left:左边盒子的宽度,然后左边盒子就会回到第一行。使用相对定位负 left: 左边的盒子宽度。

3.右边的盒子使用负margin-left:右边盒子的宽度,也会回到第一行。使用相对定位,left:右边盒子的宽度。

4.父盒子设置左右padding值为 左右盒子的宽度。给左右盒子留位置。

html代码:

<div class="box">
      <div class="center"></div>
      <div class="left"></div>
      <div class="right"></div>
 </div>

css代码:

    .box {
      padding: 0 200px;
      min-width: 400px;
      overflow: hidden;
    }
    .center {
      background-color: red;
      width: 100%;
      height: 300px;
      float: left;
    }
    .left {
      float: left;
      width: 200px;
      height: 300px;
      background-color: blue;
      margin-left: -100%;
      position: relative;
      left: -200px;
    }
    .right {
      float: left;
      width: 200px;
      height: 300px;
      margin-left: -200px;
      background-color: yellow;
      position: relative;
      left: 200px;
    }

效果图:

42c11175777a03eedd28c5847b5e264a.png
效果图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值