gpt4 book ai didi

android - webview 中的视口(viewport)不起作用

转载 作者:行者123 更新时间:2023-11-30 02:56:24 33 4
gpt4 key购买 nike

我使用下面的 html。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=yes"/>
<title>Sample</title>
</head>
<body>
<div style="width: 250px; height: 50px; background: green;">250px</div>
<div style="width: 500px; height: 50px; background: yellow;">500px</div>
<div style="width: 1000px; height: 50px; background: red;">1000px</div>
</body>
</html>

我将 UseWideViewPort 设置为 true

WebSettings settings = webView.getSettings();
settings.setUseWideViewPort(true);

据我了解,1000px 的 div 应该占据整个宽度,500px 的应该缩放到宽度的一半,250px 的应该占据宽度的四分之一。

但真正发生的是 500px 和 1000px 超出了屏幕尺寸。为了清楚起见,我附上了屏幕截图。我还尝试更改 user-scalable=no 但没有效果。 Screenshot

我应该如何解决这个问题?

最佳答案

发生的事情是因为你有

<meta name="viewport" content="width=device-width, user-scalable=yes"/>

并且您在 div 中指定了宽度,然后将实际值(例如 1000 像素)应用于 div。根据documentation :

当该值为真且页面包含视口(viewport)元标记时,将使用标记中指定的宽度值。

如果你想获得相对于彼此宽度的 div,更简单的方法是使用百分比,例如:

<body>
<div style="width: 25%; height: 50px; background: green;">25%</div>
<div style="width: 50%; height: 50px; background: yellow;">50%</div>
<div style="width: 100%; height: 50px; background: red;">100%</div>
</body>

如果您的目标是拥有“宽”视口(viewport),例如桌面,您应该传递 true 而不是如上所述指定元标记:

如果页面不包含标签或不提供宽度,则将使用宽视口(viewport)。

关于android - webview 中的视口(viewport)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23187120/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com