美文网首页
CSS实现三栏式布局的五种方式

CSS实现三栏式布局的五种方式

作者: 许妳一世承诺 | 来源:发表于2018-11-15 21:55 被阅读0次

公用的高度和宽度的CSS代码

.w {
      width: 300px;
 }
.h {
      height: 200px;
 }

1.浮动式布局

  • html中的代码如下
<div class="left w h"></div>
<div class="right w h"></div>
<div class="center h"></div>
  • css代码如下
.left {
         float: left;
         background-color: red;
 }
.right {
         float: right;
         background-color: green;
 }
.center {
         background-color: #ccc;
 }

优点:兼容性比较好
缺点:浮动是脱离文档流的,有些时候需要清除浮动,需要很好的处理浮动周边元素的关系

以下html代码为另外四种方法的公用代码

<section class="box">
    <div class="left w h"></div>
    <div class="center h"></div>
    <div class="right w h"></div>
</section>

2.绝对定位布局

.sec2 {
         position: relative;
 }
.sec2 div {
         position: absolute;
 }
.center {
         left: 300px;
         right: 300px;
         background-color: #ccc;
 }
.left {
         left: 0;
         background-color: red;
 }
.right {
         right: 0;
         background-color: green;
 }

优点:快捷,比较不容易出问题
缺点:该布局脱离文档流,所以子元素也必须脱离文档流,因此可使用性比较差

3.flex布局

.box{
        display: flex;
        width: 100%;
 }
.center{
        flex:1;
        background-color: #ccc
 }
.left{
        background-color: red;
 }
.right{
        background-color: green;
 }

优点:非常有效的解决了浮动和绝对定位的问题,去掉以知高度仍然可用
缺点:兼容性比较差(css3的属性),不兼容IE8及以下

4.表格布局

.box{
       display: table;  
       width: 100%;
 }
.box div{
       display: table-cell;
 }
.center{
       background-color: #ccc; 
 }
.left{
       background-color: red;
 }
.right{
       background-color: green;
 }

优点 :兼容性非常好,补缺了flex布局兼容的问题
缺点 :操作繁琐,当三栏中其中某一栏高度超出时,其他两栏的高度也会自动跟着调整(不符合某些场景)

5.网格布局

.box{
       display: grid;          
       width: 100%; 
       grid-template-columns: 300px auto 300px;
}
.center{
       background-color: #ccc; 
}
.left{
       background-color: red;
 }
.right{
       background-color: blue;
 }

优点:新技术,简洁明了
缺点:兼容性差

相关文章

  • 通过实现三栏式布局产生关于position、float应用场景的

    最近做了百度IFE的任务,其中有一个任务是实现三栏式布局,即: 任务目标 掌握HTML/CSS布局的概念掌握盒模型...

  • CSS实现三栏式布局的五种方式

    公用的高度和宽度的CSS代码 1.浮动式布局 html中的代码如下 css代码如下 优点:兼容性比较好缺点:浮动是...

  • 布局

    1.实现单栏式布局 一栏布局 一栏式布局(优化) 一栏式布局(通栏) 小BUG解决办法:1. 给body或者是通栏...

  • CSS实现三栏布局

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

  • CSS2 经典布局方案

    经典布局方式 上中下一栏式 左右两栏式 浮动+标准流式 浮动式 定位式 左右页眉页脚 左中右三栏式 双飞翼左中右三...

  • 百度前端学院task3笔记

    实现三栏式布局(左右两栏定宽,中间宽度自适应)有多种方法最合适的是 将左边栏与右边栏的css的float属性分别设...

  • CSS布局(不完全)总结

    CSS布局(不完全)总结 实现水平居中布局的几种方式 方法一: 通过以下CSS代码实现水平居中布局 方法二: 通过...

  • css布局及居中

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

  • 网页页面布局大全(总有一款适合你)

    3*1(三行一列)的布局方式 2列一行分栏式 4*3(4行3列)的布局方式 3*2(3行2列)的布局方式 奇妙的可...

  • CSS 布局经典问题大全

    本文主要对 CSS 布局中常见的经典问题进行简单说明,并提供相关解决方案的参考链接,涉及到三栏式布局,负 marg...

网友评论

      本文标题:CSS实现三栏式布局的五种方式

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