zoukankan      html  css  js  c++  java
  • flex的学习 flexBox的学习

    今天,突然被一个人问了一个问题,是用flex吗?虎躯一震才想起来,我似乎已经把这个布局忘得一干二净了!这可怎么行?作为一个什么都要懂但什么都不精的前端智障存在,怎么可以不记得这个东西到底怎么用呢?于是痛腚思痛,找了阮老师的博客!学习之余,做些笔记,也算没有白费了这次的苦心。

    以下纯属学习时候的一些心得,作为一个学生,不要指望我能写什么好笔记!

    flex是Flexible Box的所写,显而易见,就是弹性布局,用来为盒状模型提供最大的灵活性。

    .box{ display: flex;}这个是弹性布局的基本设置,这个不写的话,后面就扯淡吧!扯烂了也没有浏览器鸟你!

    当然啦,如果你是webkit内核,你就要加上相应的前缀:display:-webkit-flex:;

    以及我们的flex也是支持内联元素的哦~:display:inline-flex;

    加上flex属性之后我们的clear,vertical-align以及float都会失效!

     我们的flex一旦设置以后,他的容器,有6个属性很是常用;

    • flex-direction(决定主轴的方向):row|row-reverse|column|column-reverse;
    • flex-wrap(表示如果轴上排不下,怎么样换行):nowrap(不换行,这个是默认的)|wrap(换行)|wrap-reverse(换行并且第一行在下面);
    • flex-flow(是上面两个的缩写,缩写形式为):flex-direction || flex-wrap;
    • justify-content(主轴上的对齐方式):flex-start(左对齐)|flex-end(右对齐)|center(居中)|space-between(两端对齐)|space-around(每个项目之间的间隔相等);
    • align-items(交叉轴上的对齐方式):flex-start(左对齐)|flex-end(右对齐)|center(居中)|baseline(第一行的文字基线对齐)|stretch(默认属性,如果不设置高或者是auto,就自动撑满)
    • align-content(多根轴线的对齐方式):flex-start(与交叉轴上对齐)|flex-end(与交叉轴下对齐)|center(居中)|space-between(与交叉轴两端对齐)|space-around(每个项目之间的间隔相等,这里指竖着的方向)|stretch(轴线占满整个交叉线);

    说完了容器的属性,接下来就是项目的属性了:

    • order(这个是指项目的顺序,数值越小就越靠前):《interger》;
    • flex-grow(定义项目的放大属性,默认为0,意思就是即便有剩余也不占用,但是通常都设置为1,这样就是平分,有一个为2,就是它是别的的两倍):《interger》;
    • flex-shrink(定义为项目的缩小比例,默认为1,空间不足的时候全部等比例缩放,但是如果有一个为0,那就是它不缩放,其他等比例缩放):《interger》;
    • flex-basis(定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。):aoto;
    • flex(上面三个的缩写,还有两个aoto:1,1,auto;和none:0,0,auto):0,1,auto;后两个选填
    • align-self(允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch
      ):auto | flex-start | flex-end | center | baseline | stretch;

    要灵活应用这些属性,才能好好的布局。

  • 相关阅读:
    动态规划-石子问题
    动态规划-最长不下降子序列
    STL 二分查找
    动态规划-最长公共子序列与最长公共子串
    动态规划-背包问题
    高精度运算模板学习
    二叉树 | 根据前序、后序生成中序
    03.动画
    02.绘制函数
    01.hello world
  • 原文地址:https://www.cnblogs.com/yimei/p/7886190.html
Copyright © 2011-2022 走看看