-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第 155 题:求最终 left、right 的宽度 #381
Comments
浏览器跑一下吧,不是这个结果 |
跑了一下,确实不是这个结果,希望大佬给出正确的解析 |
子元素的 flex-shrink 的值分别为 2,1 |
最后一个是 314.28~哈哈哈 |
对应题目:
对应的:
所以:
|
如果container的宽度是1000px, left 和 right 的宽度是怎么计算的?@timeyo @hexuan-aurora |
子元素的 flex-grow的值分别为 1,2 |
谢谢答复, flex-grow 和 flex-shrink 的计算方式还不一样呢 |
搜到一篇资料详细解释了flex-grow与flex-shrink。详解 flex-grow 与 flex-shrink |
溢出300=500+400-600; |
|
@hansonfang 哈哈哈哈眼拙了不好意思,谢啦谢啦!! |
我也出道题 |
我是这样理解的:
收缩计算过程:
扩张计算过程:
|
应该是这样 |
你们咋都这么厉害 |
left flex-basis=500 容器总长度600 |
减小宽度计算公式分配到的减小宽度 = 解题思路flex: 1 2 500px;
// 等价于
flex-grow: 1;
flex-shrink: 2;
flex-basis: 500;
flex: 2 1 400px;
// 等价于
flex-grow: 2;
flex-shrink: 1;
flex-basis: 400; 因为 500 + 400 > 600,故需要使用
|
专门看了一眼定义,感觉这是我们初中做题时都会遇到的坑,放大和缩小计算方式不同的根本原因是比例问题的基准值 解得:x = 300 / 1400 left = 500 * (1 - 2x) = 285.7px 这就是个初中就会遇到的的比例问题……大家要审题啊! |
不错的角度,符合正常的逻辑 |
假如说有border以及padding,还需要考虑这些参数的影响,参考链接 |
这个思路很棒! |
由left = 500 * (1 - 2x) = 285.7px 可推导出left须缩小 300* 1000 / 1400=500-left; |
总权重和 2 * 500+ 1 * 400 = 1400 left宽度 = 500px - (5002/1400) * 300 = 285.7px |
The text was updated successfully, but these errors were encountered: