美文网首页
CSS布局 | 三栏那些事

CSS布局 | 三栏那些事

作者: cemcoe | 来源:发表于2020-04-06 19:15 被阅读0次
浏览器的三栏布局

需求:
左右固定中间自适应,浏览器窗口变宽时中间部分要随之变宽,反之类似。
常见于网页头部,和整体部分。

例子:
远的不说,其实 Chrome 浏览器的地址栏就是这种布局,中间的搜索框就是自适应的。

结构分析:
需要三个 div,left right center 是并列关系,需要 center 优先展示,也就是说在 HTML 结构中并不是想当然的 left center right 的顺序关系,而是 center left right 的顺序关系,要保证 center 的内容最先加载完成。

HTML 结构:

  <div class="wrapper">
    <div class="center">我要优先展示</div>
    <div class="left">我是左边的固定部分</div>
    <div class="right">我是右边的随便部分</div>
  </div>

搞点颜色:

  .left {
    background: #ddd;
  }

  .center {
    background: green;
  }

  .right {
    background: pink;
  }

效果

按照两栏布局的思路,可以推出三栏布局肯定是要把三个元素放到同一行的。
给 container 来个 flex 布局,让三个 div 排到一排。

  .wrapper {
    display: flex;
  }
display:flex

好的,下面是瓜分地盘环节,left right 不妨分别搞成 100px 和 200px 看看,让 center 自适应。有了两栏布局的经验,这里就直接写。

  .left {
    flex: 0 0 100px;
  }
  .right {
    flex: 0 0 200px;
  }
  .center {
    flex: 1;
  }
像那么回事了

从上图的结果来看好像已经符合了要求,不妨回头看下需求。

这里还有一个点要解决,就是这三个元素的站位不合适。“我要优先展示”应该C位出道,现在站在边上。怎么搞?

让 center 回归 C 位,也就是让 left 回到 center 的左边。对于 flex 布局而言,就是设置一个属性的事情。

  .left {
    order: -1;
  }
这样子就对了

来个总结:
布局应该是CSS中的一块很重要的点,三栏布局和两栏布局相比,新增了一个中间内容优先展示地需求,其余地部分两个还是很相似的,先将元素搞到一排,然后分田地就好了。

什么时候可以安全地使用 grid 布局哩。

附上核心代码:

<style>
  .left {
    background: #ddd;
  }

  .center {
    background: green;
  }

  .right {
    background: pink;
  }
  .wrapper {
    display: flex;
  }
  .left {
    flex: 0 0 100px;
  }
  .right {
    flex: 0 0 200px;
  }
  .center {
    flex: 1;
  }
 
</style>

<body>
  <div class="wrapper">
    <div class="center">我要优先展示</div>
    <div class="left">我是左边的固定部分</div>
    <div class="right">我是右边的随便部分</div>
  </div>
</body>

相关文章

  • css grid 布局那些事

    大家一提到 响应式布局就会想到 bootstarp 和媒体查询,在不考虑兼容性的前提下,浏览器又给我们提供了一种新...

  • CSS布局的那些事

    位置 移动 宽度和高度 即大小 css的"图层" BFC position float flex grid 容器的...

  • CSS布局 | 三栏那些事

    需求:左右固定中间自适应,浏览器窗口变宽时中间部分要随之变宽,反之类似。常见于网页头部,和整体部分。 例子:远的不...

  • CSS布局 | 两栏那些事

    瞎掰:上面的效果术语是两栏布局,常见于网页顶部的位置。你动我不动,我看着你动,做人就要能屈能伸,保持本心。 需求分...

  • 关于css左右布局的那些事

    前段时间被面试问道左右布局的问题,今天就来亲自试验下,看看有多少种方法。 问:左边固定像素,右边宽度自适应,并且父...

  • 文章收藏

    CSS布局 CSS布局方案整理

  • css

    css基础css选择器css常见样式1css常见样式2CSS布局上CSS布局下flex布局塔防小游戏flex布局青...

  • css flex布局详解

    css flex布局详解 css flex布局详解1css flex布局详解2

  • css布局那点事

    原文地址: http://tt-ghost.github.io/2016/07/14/css布局那点事 说到布局,...

  • 经典CSS布局:双飞翼和圣杯布局

    圣杯布局 HTML CSS 双飞翼布局 HTML CSS Flex布局 HTML和圣杯布局一样CSS

网友评论

      本文标题:CSS布局 | 三栏那些事

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