我需要对页面进行一些缩放,并防止键盘在移动设备上显示时关闭页面。它也应该适用于各种屏幕。为此,我使用视口元标记。我想到了一个解决方法,我将初始规模,最大规模和最小规模固定为一个我在JS中计算的值。有没有办法来计算这个值并将其分配给CSS?可以,我应该从css访问meta标签吗?我实际上已经尝试过这样做,但似乎没有奏效。下面的代码:可以在CSS文件中修改HTML META标签
JS:
if (screen.width<1024){
var a = screen.width/window.innerWidth;
var txt = "width=device-width, user-scalable=0, maximum-scale=" + a + ", minimum-scale=" + a;
document.getElementById("viewportMetaData").setAttribute("content", txt);
}
HTML:
<meta name="viewport" id="viewportMetaData" content="user-scalable=0">
CSS:
@media all and (max-width: 1024px) and (orientation: landscape) {
@viewport {
min-zoom: width/(100*vw);
max-zoom: width/(100*vw);
user-zoom: 0;
}
您似乎不了解元标记在HTML中的作用。对它们应用CSS规则不会改变它们的属性。 – BenM