【Effective Web】常见的css布局方式--三栏布局

常见的css居中方式–三栏布局

第一种实现:table布局(不推荐)

缺点:在table加载前,整个table都是空白的,且修改布局排版都十分困难

    <table class="container">
      <td class="left"></td>
      <td class="middle"></td>
      <td class="right"></td>
    </table>
<style>
  .container {
    width: 500px;
    height: 100px;
    .left {
      width: 100px;
      height: 100px;
      background-color: red;
    }
    .middle {
      height: 100px;
      background-color: green;
    }
    .right {
      width: 100px;
      height: 100px;
      background-color: blue;
    }
  }
</style>

在这里插入图片描述

第二种实现:float

优点:实现简单,支持性好
缺点:由于float使得其他非float的元素围绕元素排列,要计算相应的margin

如果按正常排列,效果会是这样,middle块会尽可能占空间,导致right元素被挤压到下一行
在这里插入图片描述

需要把right块提前,同时把middle块加上margin: 0 110px (左右100px + 10px)

    <div class="container">
      <div class="left" style="float: left">left</div>
      <div class="right" style="float: right">right</div>
      <div class="middle" style="margin: 0 110px">middle</div>
    </div>

在这里插入图片描述

第三种实现:table-cell

由于table有自适应的特点,可以把需要自适应的middle的display设置为table-cell。如果要根据窗口自适应,加上一个很大的width,这里设置为2000px

    <div class="container">
      <div class="left" style="float: left">left</div>
      <div class="right" style="float: right">right</div>
      <div class="middle" style="display: table-cell; width: 2000px;">
        middle
      </div>
    </div>

第四种实现:flex(推荐)

    <div class="container" style="display: flex">
      <div class="left">left</div>
      <div class="middle" style="flex-grow: 1">middle</div>
      <div class="right">right</div>
    </div>

第五种实现:grid

与flex布局类似,不过可以做二维的布局

    <div class="container" style="display: grid; grid-template-columns: 100px auto 100px">
      <div class="left">left</div>
      <div class="middle">middle</div>
      <div class="right">right</div>
    </div>

相关推荐

  1. CSS布局实现

    2024-06-18 09:00:06       20 阅读
  2. CSS中两布局实现

    2024-06-18 09:00:06       21 阅读
  3. 常见布局方法及优缺点

    2024-06-18 09:00:06       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-18 09:00:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-18 09:00:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-18 09:00:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-18 09:00:06       18 阅读

热门阅读

  1. 服务器雪崩的应对策略之----隔离

    2024-06-18 09:00:06       7 阅读
  2. 洛谷 AT_abc358_c [ABC358C] Popcorn 题解

    2024-06-18 09:00:06       12 阅读
  3. LINUX 精通 3.2

    2024-06-18 09:00:06       8 阅读
  4. 测试用例设计:提升测试覆盖率的策略与方法

    2024-06-18 09:00:06       10 阅读
  5. HTML页面定时刷新指南

    2024-06-18 09:00:06       7 阅读
  6. Docker的常见问题

    2024-06-18 09:00:06       8 阅读
  7. 1985H1 Maximize the Largest Component (Easy Version)

    2024-06-18 09:00:06       7 阅读
  8. sping怎么解决循环依赖

    2024-06-18 09:00:06       6 阅读
  9. Redis命令

    2024-06-18 09:00:06       7 阅读
  10. spi service实现类加载代码

    2024-06-18 09:00:06       7 阅读
  11. 浅谈配置元件之TCP取样器配置/TCP取样器

    2024-06-18 09:00:06       7 阅读
  12. 算法 Hw9

    2024-06-18 09:00:06       7 阅读