怎么制作私人网站教程,网站建设盈利,重庆合川企业网站建设联系电话,网站建设方案预算flex 有三个属性值#xff0c;分别是 flex-grow#xff0c; flex-shrink#xff0c; flex-basis#xff0c;默认值是 0 1 auto。 发现网上详细介绍他们的文章比较少#xff0c; 今天就详细说说他们#xff0c;先一个一个看。 flex-grow 定义项目的放大比例#xff0c;默…flex 有三个属性值分别是 flex-grow flex-shrink flex-basis默认值是 0 1 auto。 发现网上详细介绍他们的文章比较少 今天就详细说说他们先一个一个看。 flex-grow 定义项目的放大比例默认值为0就算存在剩余空间也不会放大。单单几句话肯定不能表达出意思来看个DEMO。 flex-grow flex-grow的默认值为0如果没有定义该属性是不会拥有分配剩余空间的权利的。A, B, C, D, E 的宽度分别是 100, 120, 130, 100, 100父级的宽度是660父级宽减去子级的全部宽度这样剩余空间就是110。例子中B, C定义了flex-grow分别是12那剩余空间分成3份B1份C2份比例就是12分配计算出来的值就是B :36.666666666666664, C73.33333333333333。这个时候剩余空间就被计算出来了相加后的结果就是B156.66666666666666C203.33333333333331。 B的计算公式120 (110 / 3) * 1 C的计算公式: 130 (110 / 3) * 2 flex-shrink 定义项目的缩小比例默认值为1注意前提是空间不足的情况下看例子。 flex-shrink 这里 A, B, C 的宽度分别是155, 200, 50(注意这里的宽度我是用flex-basis代替的在这个例子中和width的作用是一样的)。 父级宽度是300计算超出的空间就是 -105这样超出的 105px 就要被 A, B, C 消化掉比例是211。 如何消化 首先是每个项目的wdith值乘以flex-shrink值求积 A(155 * 2) 310B(200 * 1) 200C(50 * 1) 50。 然后再求和所有项目的乘积。 (310 200 50) 560 得到求占比之后还要乘以要腾出的空间。 A(310 / 560) * 105 58.125B(200 / 560) * 105 37.5C(50 / 560) * 105 9.375 得到每一项要腾出的空间後然後 A(155 - 58.125) 96.875B(200 - 37.5) 162.5C(50 - 9.375) 40.625 好了这样就得出计算后的宽度了。 flex-basis 和width一样他的默认值为auto把上面几个例子换成width也是一样的。当然工作中最好用flex-basis更符合规范。 总结 如果父级的空间足够flex-grow有效flex-shrink无效。 如果父级的空间不够flex-shrink 有效flex-grow无效。 注意设为Flex布局以后子元素的float、clear和vertical-align属性将失效。转载于:https://www.cnblogs.com/dehuachenyunfei/p/6527601.html