美文网首页
flex 伸缩项属性

flex 伸缩项属性

作者: LUGY | 来源:发表于2019-05-26 21:50 被阅读0次

使用使用flex做横向布局时,常常有左边固定宽度,右边自适应占满的需求,这个时候右面元素一般会使用flex:1 属性自动填满空间,但左边元素会发生挤压,无法达到css中给定的宽度。

这个问题是由flex伸缩项属性的默认值引起的,flex-shrink属性的默认值为1,即默认当空间不足时会缩小,需要将其值改为0,保持原始大小。

flex:1 实际上是 flex-grow:1; flex-shrink:1; flex-basis:0%; 的简写,

flex 伸缩项属性一共有三个,即flex-basis,flex-grow,flex-shrink

优先级最高的是flex-basis,这个属性决定CSS如何给可伸缩项在容器中分配初始大小,其含有两个值,

auto(默认)的意思是首先看当前项有没有明确设置宽度,如果有则使用该宽度;如果没有,则以包含的内容决定宽度。

content是不管当前项是否明确设置了宽度,一律以内容决定宽度。

flex-grow,属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大,其余值可取正整数,意思是放大占剩余空间份数。

当有剩余空间时,当前项可分得的剩余空间 = ( 当前项flex-grow值/所有项flex-grow值之和 ) * 剩余总宽度。

flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。其值为0时则空间不足也不会缩小,其余正值为缩小份数(比例)。

当前项收缩的宽度 = ( 当前项flex-shrink * 当前项flex-basis/ 所有项flex-shrink 与各自flex-basis乘积之和 ) * 需收缩的总宽度

相关文章

  • flex 伸缩项属性

    使用使用flex做横向布局时,常常有左边固定宽度,右边自适应占满的需求,这个时候右面元素一般会使用flex:1 属...

  • flex基本了解(伸缩容器)

    伸缩容器的属性 1.display flex 块级伸缩容器 inline-flex 行内级伸缩容器 2.flex-...

  • flex弹性布局

    伸缩容器的属性 display: flex 定义为弹性布局 flex-direction 决定主轴的方向 flex...

  • Flexbox的伸缩属性

    首先需要了解H5中盒子模型的flex-box的属性,其可以分为伸缩容器属性和伸缩Item属性 伸缩容器的属性 1....

  • 17-CSS伸缩布局

    伸缩布局 如何使用伸缩布局?只需要给元素设置 display: flex;属性 伸缩布局分类伸缩容器: 给哪个元素...

  • flex布局

    1.flex属性2.CSS 伸缩盒布局模组

  • ReactNative入门学习笔记——Flexbox布局

    flex属性 当一个(元素)组件,定义了flex属性时,表示该元素是可伸缩的。当然flex的属性值是大于0的时候才...

  • FlexBox布局属性笔记

    display: 表示为伸缩容器 参考属性: flex |设置为容器 inline-flex| 行内元素设置容器...

  • 弹性盒模型布局

    display 属性 开启弹性布局 伸缩容器的各属性 1. flex-direction 属性 指定主轴的方向 ...

  • React Native 学习记录(三)React Native

    首先看完阮一峰的Flex布局教程 1.Flex属性 当一个(元素)组件,定义了flex属性时,表示该元素是可伸缩的...

网友评论

      本文标题:flex 伸缩项属性

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