我正在用Cordova开发混合应用程序。我已经使用vh和vw来布局我的设计并确定所有内容的大小,以便屏幕大小的细微差别都能很好地发挥作用。我的问题是,在Android上,当键盘打开时,vh的值将从全屏更改为在键盘上方仍可见的屏幕部分。在iOS上不会发生这种情况。
关于如何解决这个问题的任何想法?我是否应该完全更改布局策略以在CSS中使用另一种尺寸?我应该弄清楚屏幕尺寸,然后用js设置所有高度(这看起来很糟糕)吗?最佳做法的任何帮助都将非常有用。
谢谢,
史考特
最佳答案
@media screen and (min-aspect-ratio: 1/1) { /* landscape styles here */}
@media screen and (max-aspect-ratio: 1/1) { /* portrait styles here */}
这几乎是解决该问题的唯一方法。或者,您可以尝试仅使用视口(viewport)宽度,而避免使用视口(viewport)高度。
Here is a resource to look at might help as well