美文网首页
CSS3 flex 布局必须要掌握的知识点

CSS3 flex 布局必须要掌握的知识点

作者: 前端巴士 | 来源:发表于2020-07-10 09:34 被阅读0次

    flex 布局已经流行好久了,从最开始大家都在用非官方标准的 box 布局(display: box; display: -webkit-box;),到后来的各种兼容写法,再到后来基本上就是只用 flex 了。

    毕竟标准就是标准,虽然有时候会迟到,但是最终肯定还是主角。

    现在的web前端项目,特别是管理系统和移动端,都在大量使用 flex 布局了。一些流行的 UI 框架也是,比如 Bulma,还有 Bootstrap(第5版会抛弃jQuery)。。。

    不过,近期却发现大伙对 flex 布局这块掌握的相当的弱,其实我掌握的也不好,不过一些特别基础的总还是要熟悉并且能熟练应用到工作中啊。今天咱们不记流水账,只把必须要熟悉的 flex 知识说一说。

    1# 浏览器支持

    只看 ie 就可以了,得 ie 11

    2# flex 布局简介

    flex 是 flexible box 的简写,也就是弹性盒子布局。它是 CSS3 的标准,不过它不是出现最早的弹性盒子布局,如果你也用过 box 布局理解起来会很简单。

    flex 布局是用来设置其子元素如何分配页面空间的一种方式,记好是子元素。

    3# 如果一个元素设置了 display: flex,它的子元素会发生一些变化,先看下子元素的排列

    .flex-demo{

    display: flex;

    }

    默认子元素会水平排列,不管是不是块元素,如果想要垂直排列

    .flex-demo{

    display: flex;

    flex-direction: column;// 加上这个,子元素就垂直排列了

    }

    flex-direction 属性还有一些其它值,可以自己看下,至少要很清楚 row / column

    4# 子元素的水平方向对齐

    .flex-demo{

    display: flex;

    justify-content: center;// 水平居中对齐

    }

    可选的对齐方式很多,flex-start | flex-end | center | space-between | space-around,居中和两端对齐用的比较多。其实也不用去记,知道 justify-content 是用来设置水平对齐的,值在浏览器里调试就好了,时间长了,自己就记住了。

    5# 子元素垂直方向对齐

    .flex-demo{

    display: flex;

    align-items: center;// 垂直居中对齐

    }

    可选方式也不少,flex-start | flex-end | center | baseline | stretch,都试下

    有了上面两个属性,设置一个未知宽高的元素垂直水平居中就很容易了

    6# 子元素弹性宽高设置,特别注意,这个属性是设置到子元素上的

    .flex-item{

    flex-grow:1;// 占满父元素剩余的宽度,多个子元素都是 1,会平分父元素宽度

    }

    上面的 flex-grow:1 也可以简写成 flex: 1,常用的地方,比如下图

    按钮的宽度不变,文本框的高度会随着屏幕的宽度自动改变;这样的需求用 flex 来做,大概的代码如下

    .flex-demo{

    display: flex;

    }

    .search-btn{

    width:80px;

    ...

    }

    .search-ipt{

    flex-grow:1;// flex: 1

    }

    当然,flxe 还有很多其它的属性这里都没有说到,自行搜索学习吧,你是一个前端,不能这么爱偷懒!

    相关文章

      网友评论

          本文标题:CSS3 flex 布局必须要掌握的知识点

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