美文网首页
如何实现三栏布局,两端固定,中间自适应

如何实现三栏布局,两端固定,中间自适应

作者: 雪中无处寻 | 来源:发表于2020-04-01 10:37 被阅读0次

在平常的工作中,我们经常会遇到这样的需求,就是两端固定,中间自适应的三栏布局,比如移动端头部导航,那么该怎么实现呢,我总结了一下几种方式:

方式一:浮动

    样式代码:

<style>
    * {
      margin: 0;
      padding: 0;
    }
    .box {
      height: 100px;
    }
    .left, .right {
      width: 100px;
      height: 100%;
      background-color: red;
    }
    .left {
      float: left;
    }
    .right {
      float: right;
    }
    .center {
      height: 100%;
      background-color: yellow;
    }
  </style>

    布局代码:

<div class="box">
    <div class="left"></div>
    <div class="right"></div>
    <div class="center">
      <h2>我是中间自适应布局</h2>
    </div>
  </div>

注意:center要放到最后

方式二:绝对定位

    样式代码:

<style>
    * {
      margin: 0;
      padding: 0;
    }
    .box {
      position: relative;
      height: 100px;
    }
    .box > div {
      position: absolute;
    }
    .left, .right {
      width: 100px;
      height: 100%;
      background-color: red;
    }
    .left {
      left: 0;
    }
    .right {
      right: 0;
    }
    .center {
      position: absolute;
      left: 100px;
      right: 100px;
      height: 100%;
      background-color: yellow;
    }
  </style>

    布局代码:

 <div class="box">
    <div class="left"></div>
    <div class="center">
      <h2>我是中间自适应布局</h2>
    </div>
    <div class="right"></div>
  </div>

方式三:flex布局

    样式代码:

<style>
    * {
      margin: 0;
      padding: 0;
    }
    .box {
      display: flex;
      height: 100px;
    }
    .left, .right {
      flex: 0 0 100px;
      width: 100px;
      height: 100%;
      background-color: red;
    }
    .center {
      flex: 1;
      height: 100%;
      background-color: yellow;
    }
  </style>

    布局代码:

 <div class="box">
    <div class="left"></div>
    <div class="center">
      <h2>我是中间自适应布局</h2>
    </div>
    <div class="right"></div>
  </div>

这也是我在移动端最喜欢的布局

方式四:被无情抛弃的table布局

    样式代码:

<style>
    * {
      margin: 0;
      padding: 0;
    }
    .box {
      display: table;
      width: 100%;
      height: 100px;
    }
    .box > div {
      display: table-cell;
    }
    .left, .right {
      width: 100px;
      height: 100%;
      background-color: red;
    }
    .center {
      background-color: yellow;
    }
  </style>

    布局代码:

<div class="box">
    <div class="left"></div>
    <div class="center">
      <h2>我是中间自适应布局</h2>
    </div>
    <div class="right"></div>
  </div>

方式五:grid网格布局

    样式代码:

<style>
    * {
      margin: 0;
      padding: 0;
    }
    .box {
      display: grid;
      width: 100%;
      /* 每行高100px */
      grid-template-rows: 100px;
      /**
        列的宽度
          第一列100
          第二列自适应
          第三列100
      */
      grid-template-columns: 100px auto 100px;
    }
    .left, .right {
      background-color: red;
    }
    .center {
      background-color: yellow;
    }
  </style>

    布局代码:

<div class="box">
    <div class="left"></div>
    <div class="center">
      <h2>我是中间自适应布局</h2>
    </div>
    <div class="right"></div>
  </div>

以上就是我总结的几种方式,希望和大家多多交流,感谢指正!

相关文章

  • 移动端布局常用方法

    左右固定,中间自适应(双飞翼或者圣杯布局) 页面结构 1:flex布局,父盒子设置弹性盒,两端固定,中间flex:...

  • 常见网页布局的介绍

    左侧固定,右侧自适应 右侧固定,左侧自适应 圣杯布局(左右固定,中间自适应) 中间固定 两侧自适应 等分布局 等分...

  • 圣杯布局/双飞翼布局学习

    页面布局需求: 三列布局,左右两端固定,中间部分自适应。中间栏DOM元素排在首位,在浏览器优先渲染。 圣杯布局 中...

  • 2019-1-2

    学习圣杯和双飞翼布局 圣杯和双飞翼布局即是可以实现三栏中两端宽度固定,中间宽度自适应布局效果的两种方式的叫法。下面...

  • 2019-04-01常见布局汇总(flex版本)

    1,左侧固定中间自适应 2,右侧固定,左侧自适应 3,两边固定中间自适应 4,等高布局

  • css布局

    简单的布局问题 高度已知,三栏布局,要求左右宽度固定,中间自适应,怎么实现?

  • css布局及居中

    双列布局(左右布局) 如何实现:浮动元素+普通元素 三栏式布局(左中右布局) 两侧两列固定宽度,中间列自适应宽度 ...

  • 三列布局——flex布局

    使用 flex 布局实现中间自适应两边固定的三列布局! 代码 效果图

  • 两种方式实现CSS双飞翼布局

    双飞翼布局,就是两端固定宽高,中间自适应的三栏布局 先来张图,左边和右边的灰色块是固定宽高的,中间绿色的区域是宽高...

  • 三列布局——圣杯布局

    用圣杯布局实现两边宽度固定,中间自适应。 代码 效果图

网友评论

      本文标题:如何实现三栏布局,两端固定,中间自适应

      本文链接:https://www.haomeiwen.com/subject/mbcouhtx.html