移动端的flex三栏布局的相关知识介绍(代码示例)

2020-07-23 17:30:36
本篇文章给大家带来的内容是关于移动端的flex三栏布局的相关知识介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

默认情况下先显示移动端,通过 @media 属性适配屏幕变化

使用flexbox相关的CSS属性

display: flex; (父元素)

flex-wrap: nowrap | wrap | wrap-reverse; (父元素, 子元素超出该如何显示)

flex: flex-grow flex-shrink flex-basis; (子元素, 子元素该如何分配空间)

order: number; (子元素, 子元素的顺序该如何排列)

重点

在父元素上设置 display: flexflex-wrap: wrap

通过 flex 来调整子元素上的空间分配(扩展、收缩比例和伸缩基准值)

通过 order 来调整子元素的显示顺序(把 .center 放在中间)

例子

CSS

    .box {        display: flex;        flex-wrap: wrap;        text-align: center;    }    .center {        background-color: #f00;        flex: 100% 1;    }    .left, .right {        flex: 100% 1;    }    .left {        background-color: #0f0;    }    .right {        background-color: #00f;    }    @media all and (min-width: 400px) {        .left, .right {            flex: 50% 1;        }    }    @media all and (min-width: 800px) {        .box {            flex-wrap: nowrap;        }        .center {            order: 2;            flex: 1;        }        .left, .right {            flex: 0 0 300px;        }        .left {            order: 1;        }        .right {            order: 3;        }    }

HTML

<div class="box">    <div class="center">        弹性盒子是 CSS3 的一种新的布局模式。        CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。        引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。    </div>    <div class="left">left</div>    <div class="right">right</div></div>