五种方式实现左右两栏固定宽度中间自适应

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>页面布局</title>
  <style>
    html * {
      margin:0px;
      padding:0px;
    }
  </style>
</head>

<body>
  <!--float布局-->
  <section>
    <style>
      .layout-float {
        margin-bottom:10px;
      }
      .layout-float > div{
        height:100px;
      }
      .left {
        float:left;
        width:300px;
        background: red;
      }
      .right {
        float:right;
        width:300px;
        background: blue;
      }
      .middle {
        background: yellow;
      }
    </style>
    <article class="layout-float">
      <div class="left"></div>
      <div class="right"></div>
      <div class="middle">float的三栏布局</div>
    </article>
  </section>
  <!--绝对定位-->
  <section>
      <style>
        .layout-position > div{
          height:100px;
          position:absolute;
        }
        .left {
          left:0;
          width:300px;
          background: red;
        }
        .middle {
          left:300px;
          right:300px;
          background: yellow;
        }
        .right {
          right:0px;
          width:300px;
          background: blue;
        }
      </style>
      <article class="layout-position">
        <div class="left"></div>
        <div class="middle">position的三栏布局</div>
        <div class="right"></div>
      </article>
    </section>
    <!--flex布局-->
    <section>
        <style>
          .layout-flex {
            height:100px;
            display:flex;
            margin-top:120px;
          }
          .left {
            width:300px;
            background: red;
          }
          .middle {
            flex:1;
            background: yellow;
          }
          .right {
            width:300px;
            background: blue;
          }
        </style>
        <article class="layout-flex">
          <div class="left"></div>
          <div class="middle">flex的三栏布局</div>
          <div class="right"></div>
        </article>
      </section>
    <!--grid布局-->
    <section>
        <style>
          .layout-grid {
            display:grid;
            width:100%;
            grid-template-rows:100px;
            grid-template-columns: 300px auto 300px;
            margin-top:10px;
          }
          .left {
            background: red;
          }
          .middle {
            background: yellow;
          }
          .right {
            background: blue;
          }
        </style>
        <article class="layout-grid">
          <div class="left"></div>
          <div class="middle">grid的三栏布局</div>
          <div class="right"></div>
        </article>
      </section>
</body>

</html>

  

转载于:https://www.cnblogs.com/wzp-monkey/p/10481113.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值