28-(flex)伸缩布局/弹性布局

2018-09-17  本文已影响0人  晚溪呀
主轴和侧轴.png
  1. 主轴方向问题
  1. 主轴对齐方式
  justify-content:取值;
  justify-content: flex-start;
  justify-content: flex-end;
  justify-content: center; 
  justify-content: space-between;
  justify-content: space-around;

示例链接:

http://www.runoob.com/try/playit.php?f=playcss_justify-content&preval=initial

  1. 侧轴对齐方式
  align-items: flex-start;
  align-items: flex-end;
  align-items: center;
  align-items: baseline;
  align-items: stretch;
  1. 伸缩换行flex-wrap

宽度不够也不换行, 默认取值

        flex-wrap: nowrap;
        宽度不够也不换行, 默认取值
      

        flex-wrap: wrap;
        如果当伸缩容器宽度不够时, 不想让伸缩项被压缩, 也可以让系统换行flex-wrap: 


        flex-wrap: wrap-reverse;
        伸缩容器多行显示,ltr排版下,伸缩项目从右向左排列;
        rtl排版下,伸缩项目从左往右排列(与wrap相反)

总结:

  1. 堆栈伸缩行align-content

参数说明:

  1. 伸缩项排序
  1. 伸缩项放大比例

8、伸缩项缩小比例

2.计算每个伸缩项需要压缩的宽度
2.1计算溢出的宽度
伸缩容器的宽度 -  所有伸缩项的宽度总和
400 - 600 = -200
2.2计算总权重
每个伸缩项需要的份数 * 每个伸缩项的宽度
1 * 200 +  2 * 200 + 3 * 200 = 1200
2.3计算每个伸缩项需要压缩的宽度
溢出的宽度 * 需要的份数 * 每个伸缩项的宽度 / 总权重
-200 * 1 * 200 / 1200 = -33.33

注意点:
flex-shrink: 默认值是1



与flex-grow类似,也是处理伸缩容器额外空间的属性,不同的是,flex-    
grow处理的是伸缩容器内部剩下的额外空间,而flex-shrink处理的是伸 
缩容器外部溢出的额外空间。上例中将溢出的额外空间分成4份,收缩 
比例为1的占1份,收缩比例为2的占2份,如果不设置收缩比例,默认的 
比例为1。

9、伸缩项放大缩小比例
如果有伸缩项没有设置flex-grow, 那么系统会保持原有的宽度
而会将多余的宽度等分之后, 按照每个伸缩项需要的份数添加给它们
如果想让某个伸缩项不缩小, 那么需要将它的flex-shrink设置为0

10、伸缩项宽度
如果是伸缩布局, 除了可以通过元素的width属性来设置宽度以外, 还可以通过flex-basis属性来设置伸缩项的宽度

  1. 伸缩项属性简写:
    flex: flex-grow flex-shrink flex-basis;
    默认值:
    flex: 0 1 auto;
    注意点:
     在连写格式中, flex-shrink flex-basis是可以省略的
     /*
    flex: 1 1 200px;
    */
     flex: 1;
上一篇 下一篇

猜你喜欢

热点阅读