经典的流式布局实现方法总结(三)(圣杯布局&双飞翼布局)

两侧固定中间自适应的三种实现方法

1.利用bfc块级格式化上下文, 实现两侧固定中间自适应
(1)左右固定宽高,进行浮动
(2)中间 overflow: hidden;

<style>
    .father {
      height: 500px;
      background-color: pink;
    }
    .left {
      float: left;
      width: 200px;
      height: 400px;
      background-color: blue;
    }
    .right {
      float: right;
      width: 200px;
      height: 400px;
      background-color: blue;
    }
    .center {
      height: 450px;
      background-color: green;
      overflow: hidden;
    }
  </style>

html结构

 <!-- 注意:left和right必须放在center前面 -->
 <div class="father">
   <div class="left"></div>
   <div class="right"></div>
   <div class="center"></div>
 </div>

2.利用定位实现两侧固定中间自适应
(1)父盒子设置左右padding值
(2)给左右盒子的width设置父盒子的padding值,然后分别定位到padding处.
(3)中间盒子自适应

具体css代码

<style>
    .father {
        height: 400px;
        background-color: pink;
        position: relative;
        padding: 0 200px;
    }
    .left,.right {
        width: 200px;
        height: 300px;
        background-color: yellow;
        position: absolute;
        top: 0;
    }
    .left {
        left: 0;
    }
    .right {
        right: 0;
    }
    .center {
        background-color: blue;
        height: 350px;
    }

</style>

html结构

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

3.利用flex布局实现两侧固定中间自适应
(1) 父盒子设置display:flex;
(2) 左右盒子设置固定宽高
(3) 中间盒子设置flex:1 ;

<style>
    .father {
        height: 400px;
        background-color: pink;
        display: flex;
    }
    .left {
        width: 200px;
        height: 300px;
        background-color: yellow;
    }
    .right {
        width: 200px;
        height: 300px;
        background-color: yellow;
    }
    .center {
        flex: 1;
        background-color: blue;
    }

</style>

html结构

<div class="father">
        <div class="left"></div>
        <div class="center"></div>
        <div class="right"></div>
</div>
等分布局

具体css代码

<style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    ul {
      list-style: none;
      width: 100%;
      height: 100px;
    }
    li {
      float: left;
      width: 20%;
      height: 100px;
      border: 1px solid red;
    }
  </style>

html结构

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值