我正在创建一个HTML5游戏,在4:3的"视口"中,元素绝对位于其中(因为我想使用"世界坐标")。
与其为不同的设备提供不同的布局,我更希望能够用单一的布局来开发它。我想要一个4:3的容器元素,以黑色背景为中心。
在大屏幕(桌子、桌面)上,我希望它达到最大物理尺寸(例如20厘米乘15厘米)。在手机屏幕上,我希望它能缩放到任何方向都不会溢出(这会鼓励人们切换到横向)。
这可能吗?我一直在摆弄视口标记,但一无所获。
绝对定位的项目基于页面已知(左)角的X、Y进行定位。因此,如果您的页面大小可能会发生变化,那么您按比例重新定位这些项目的选项可能会涉及大量javascript。您必须评估页面大小,确定绝对定位元素的边距和填充比例,然后根据需要重新定位它们。
看不到代码或屏幕截图,就不可能确切地知道你想做什么。要问自己的一个大问题是为什么?你真的需要绝对的定位吗?还是这只是一种避免相对位置和盒子模型复杂性的方法?我个人的经验法则是,只有当一个物品必须漂浮在另一个容器上或与另一个集装箱相交时,它才是绝对定位的,甚至还有其他方法可以替代大多数情况。响应式设计已经走过了很长很长的路,使用javascript、css和媒体查询的组合很可能可以实现您的目标。
我在文章案例研究中找到了我想要的东西:自动调整HTML5游戏的大小
and here's what I made, based on that:
https://jsfiddle.net/mcintyre321/hkLLqzr1/