我试图让我的Canvas/舞台在父容器内正确缩放和适配,但是遇到了一些问题。我找到了其他类似的帖子,虽然答案帮助我获得了新的屏幕尺寸,但它仍然无法适应容器,而是直接到达屏幕边缘(这是从示例中预期的),左/右内容会超过父容器。
我已经尝试了很多不同的方法,但仍然找不到正确的方法,使其既不超出父容器,又不扭曲画布中形状的位置。对我来说最明显的方法是通过CSS对实际的canvas/stage设置限制,但这最终会使比例失调,使形状出现在画布外部。
在代码链接中,我包含了我试图做的hacky方法,虽然在某些情况下看起来正确,可以适应更小的设备屏幕,但canvas宽度仍将超出父容器。我不确定是否过于思考或者是否有一个更简单的方法来解决我的问题,请提供任何帮助或提示。
Live CodeSandbox: https://codesandbox.io/s/white-surf-yc2vh
期望结果图像:https://imgur.com/a/w0oXxG0