flex:1 表达的含义

 我来答
四季教育17
2022-06-05 · TA获得超过5663个赞
知道大有可为答主
回答量:5408
采纳率:99%
帮助的人:265万
展开全部

flex 布局,我相信大家都非常熟悉, 但是要说到 flex:1 表达的含义,我相信很多同学说不出来。

很多同学入门flex 的时候,应该都是看了 阮一峰的flex 科普文章

想要梳理清晰flex:1的含义,我们先学习下flex 这个css属性表达了哪些含义

flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
从这里就可以推导出

相当于

我一开始理解的也是这样。 后面的分析会推翻我这里的结论

flex-basis 也是一个比较难理解的点,我写了 深入理解flex-basis 来梳理这个知识点,不懂得可以查看。这里我们重点解析flex:1。
我写了一个简单的demo 来提供分析:

我们看下浏览器输出的效果:

可以看到,无论内容是多少,我们都实现等分。

我们看下控制台:

发现:

其实相当于:

看另一个例子:

浏览器显示效果:

依然是等分

再来一个类似的例子:

浏览器显示效果:

依然是等分

从以上的分析调试,我们可以初步分析

接下来,看下 flex: 1 1 auto 的效果

浏览器显示效果:

没有等分

写到这里,我们在细细品味下flex-basic的含义

auto 表示项目本身的大小, 如果设置为 auto, 那么这三个盒子就会按照剩余的空间,等比例缩放

如果随便设置一个其他带有长度单位的数字呢, 例如

又因为 c1.width = c2.width = c3.width,所以最终的效果就是 c1, c2, c3 进行了等分缩放。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式