三栏布局的五种方式

12 篇文章 0 订阅

三栏布局:两边盒子固定宽度,中间自适应。
在这里插入图片描述

1. 浮动布局

 <div class="con">
    <div class="left">left</div>
    <div class="right">right</div>
    <div class="middle">middle</div>
  </div>
	 .con div {
	      min-height: 200px;
	    }

    .left {
      float: left;
      width: 200px;
      background-color: aquamarine;
    }

    .right {
      float: right;
      width: 200px;
      background-color: bisque;
    }

    .middle {
      background-color: #b99cd3;
    }

优点:兼容性好;

缺点:元素脱离文档流,产生浮动

2. 绝对定位

  <div class="con">
    <div class="left">left</div>
    <div class="middle">middle</div>
    <div class="right">right</div>
  </div>
    .con {
      position: relative;
    }

    .con div {
      min-height: 200px;
      position: absolute;
    }

    .left {
      left: 0;
      width: 200px;
      background-color: aquamarine;
    }

    .right {
      right: 0;
      width: 200px;
      background-color: bisque;
    }

    .middle {
      left: 200px;
      right: 200px;
      background-color: #b99cd3;
    }

优点:简单,适合快速开发页面;

缺点:元素脱离文档流,导致后面的元素也会脱离文档流,可使用性较差。

3. flex布局

  <div class="con">
    <div class="left">left</div>
    <div class="middle">middle</div>
    <div class="right">right</div>
  </div>
    .con {
      display:flex
    }

    .con div {
      min-height: 200px;
    }

    .left {
      width: 200px;
      background-color: aquamarine;
    }

    .right {
      width: 200px;
      background-color: bisque;
    }

    .middle {
      flex:1;
      background-color: #b99cd3;
    }

优点:开发简单易上手;

缺点:在移动端开发很常见,但PC端IE8不兼容

4. table布局

  <div class="con">
    <div class="left">left</div>
    <div class="middle">middle</div>
    <div class="right">right</div>
  </div>
    .con {
      display:table;
      min-height: 200px;
    }
	.con div {
      display: table-cell;
    }
    .left {
      width: 200px;
      background-color: aquamarine;
    }

    .right {
      width: 200px;
      background-color: bisque;
    }

    .middle {
      background-color: #b99cd3;
    }

优点:兼容性好

缺点:因为各方面的弊端,现在已经被抛弃了

5. grid布局

  <div class="con">
    <div class="left">left</div>
    <div class="middle">middle</div>
    <div class="right">right</div>
  </div>
    .con {
      display: grid;
      grid-template-columns: 200px 1fr 200px;
    }
	.con div {
	  min-height: 200px;
    }
    .left {
      background-color: aquamarine;
    }

    .right {
      background-color: bisque;
    }

    .middle {
      background-color: #b99cd3;
    }

优点:简单,仅需两行代码;

确定:兼容性差

转载:https://juejin.cn/post/6844903975792164872

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值