美文网首页
css之三栏布局

css之三栏布局

作者: 沐雨芝录 | 来源:发表于2019-03-14 17:30 被阅读0次

前言

想必大家都听过圣杯布局和双飞翼布局吧,个人觉得有点苦涩难懂,每次理解了以后,很容易忘掉,所以自我总结了五种方法,供大家参考。

一、float浮动布局

     <style media="screen">
      .box>div{
         height: 100px;
      }
      .left{
        float:left;
        width:300px;
        background: red;
      }
      .center{
        background: yellow;
      }
      .right{
        float:right;
        width:300px;
        background: blue;
      }
     </style>

      <div class="box">
        <div class="left"></div>
        <div class="right"></div>
        <div class="center"></div>
    </div>

总结:看起来是不是很简单,但是浮动清除必须做好,推荐用伪类。


二、position定位布局

     <style media="screen">
      .box>div{
         position: absolute;
         height: 100px;
      }
      .left{
        left:0;
        width:300px;
        background: red;
      }
      .center{
        left: 300px;
        right: 300px;
        background: yellow;
      }
      .right{
        right:0;
        width:300px;
        background: blue;
      }
     </style>

      <div class="box">
        <div class="left"></div>
        <div class="right"></div>
        <div class="center"></div>
    </div>

总结:绝对定位是脱离文档流的,意味着下面的所有子元素也会脱离文档流,所以不推荐。


三、flex弹性盒模型布局

     <style media="screen">
      .box{
         display: flex;
      }
      .box>div{
         height: 100px;
      }
      .left{
        order:1;
        width:300px;
        background: red;
      }
      .center{
        flex:1;
        order:2;
        background: yellow;
      }
      .right{
        order:3;
        width:300px;
        background: blue;
      }
     </style>

      <div class="box">
        <div class="left"></div>
        <div class="right"></div>
        <div class="center"></div>
    </div>

总结:有同学问了,直接center设置flex:1不就好了吗,你们看我的dom,<div class="center"></div>不在中间,所以才需要用order进行重新排序,不懂弹性盒模型的请自行学习。


四、表格布局

     <style media="screen">
      .box{
         display: table;
      }
      .box>div{
         display: table-cell;
         height: 100px;
      }
      .left{
        width:300px;
        background: red;
      }
      .center{
        background: yellow;
      }
      .right{
        width:300px;
        background: blue;
      }
     </style>

      <div class="box">
        <div class="left"></div>
        <div class="right"></div>
        <div class="center"></div>
    </div>

总结:看起来是不是超简单,缺点是当其中一个单元格高度超出的时候,两侧的单元格也是会跟着一起变高。


五、网格布局

     <style media="screen">
      .box{
          display: grid;
          grid-template-rows: 100px;
          grid-template-columns: 300px auto 300px;
      }
      .box>div{
         height: 100px;
      }
      .left{
        width:300px;
        background: red;
      }
      .center{
        background: yellow;
      }
      .right{
        width:300px;
        background: blue;
      }
     </style>

      <div class="box">
        <div class="left"></div>
        <div class="right"></div>
        <div class="center"></div>
    </div>

总结:估计很多人和我一样,开始看的这个网格布局,啥玩意不想看了,但是如果你以后面试说出了网格布局,加分不是一点两点。


相关文章

  • css之三栏布局

    前言 想必大家都听过圣杯布局和双飞翼布局吧,个人觉得有点苦涩难懂,每次理解了以后,很容易忘掉,所以自我总结了五种方...

  • CSS布局技巧总结

    目录 详解 CSS 七种三栏布局技巧 16种方法实现水平居中垂直居中 详解 CSS 七种三栏布局技巧 三栏布局,顾...

  • css布局

    一、CSS左右布局: 结果如下图(flex): 两栏 代码如下:两栏代码 二、CSS左中右布局: 结果如下图(f...

  • CSS布局&CSS居中&媒体查询

    关于CSS布局&CSS居中&媒体查询三者的见解 css布局: 单栏布局: 分为最大宽度和固定宽度,80%以上的页面...

  • CSS经典布局

    CSS经典布局 本文主要对一些常见的CSS布局问题进行总结,涉及三栏布局、负margin、清除浮动、居中布局、Fl...

  • CSS布局

    一栏布局 定宽+水平居中html: css: 双栏布局 特点: 一栏固定宽度, 另外一栏自适应撑满浮动元素 + 普...

  • CSS实现三栏布局

    CSS实现三栏布局(5种) 常见的布局方式: float布局、Position定位、table布局、弹性(flex...

  • 特殊布局方法

    关于圣杯布局和双飞翼布局:CSS布局之--淘宝双飞翼布局双飞翼布局介绍CSS控制自适应宽度两三栏布局圣杯布局的实现...

  • 最新前端面试总结

    1.HTML&CSS: flex布局,垂直居中,清除浮动,BFC,三栏布局,两栏布局,动画,盒模型,h5新特性 2...

  • CSS实现三栏布局的方法

    经典CSS题目:三栏布局 假设页面高度已知,请写出三栏布局,其中左栏、右栏宽度各为300px,中间自适应。 方法1...

网友评论

      本文标题:css之三栏布局

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