-
Notifications
You must be signed in to change notification settings - Fork 3.3k
第 155 题:求最终 left、right 的宽度 #381
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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: