flex属性 flex-grow、flex-shrink、flex-basic

 

flex属性介绍:flex:1 1 300px;

三个值分别代表 flex-grow、flex-shrink、flex-basic

  • flex-grow:是扩展比率,当子元素宽度总和小于父元素宽度时起作用,会按比例分配父元素剩余空间(按比例自适应
  • flex-shrink:是收缩比率,当子元素宽度总和大于父元素宽度时起作用,会按比例收缩空间(按比例自适应
  • flex-basic:伸缩基准值,子元素本来宽度

例子:假设有三个盒子,宽度分别为 200 px、200px、 200px。

情况1:每个盒子设置属性中有:flex:1 1 300px;

总结:不管子元素宽度总和(300px+300px+300px)是否大于或小于父元素宽度,都会自适应父元素宽度

 

 

情况2:每个盒子设置属性中有:flex:1 0 300px;起扩展作用;

总结:如果宽度为300+300+300= 900 大于则自适应,父级宽度小于900,子盒子宽度300px,不随父盒子宽度变化而变化

 

 

 

情况3:每个盒子设置属性中有:flex:0 1 300px;收缩起作用;

则当父级盒子大于宽度300+300+300= 900,子盒子宽度保持为300,不随父级宽度变化而变化,父级盒子小于900时,子盒子随父级宽度变化而变化

 

 

情况4:每个盒子设置属性中有:flex:0 0 auto;

总结:不管子元素总和是否大于父元素,都不会随父元素大小而变化

 tip:flex主要是父元素对子元素的布局用的(父元素中应设置display:flex)

想要看更多关于flex布局相关知识,看阮一峰大大的关于这块的知识,已经写得很详细啦

http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

 参考:https://www.cnblogs.com/beka/p/8574189.html

点赞👍+关注我吧~

成为更好的自己

 

posted @ 2020-11-05 10:23  文学少女  阅读(1044)  评论(0编辑  收藏  举报