如何在Nexus 7上的Android KitKat的Webview(Android Chrome)中获得精确的边框和大小?

Mit*_*it_ 5 css android google-chrome webview android-4.4-kitkat

http://i.stack.imgur.com/Q4lHM.png

这是一个带有1px实线边框的框,它在Android Webview中呈现如下.相同的1px边框用2px渲染,行为是随机的.

问题是:我应该如何设置边框,所以每次看起来都一样,而且发际线很薄?


我将试着总结一下我对这个问题的理解.首先在移动设备上,css像素不等于设备像素.例如,在Nexus 7(2012)设备window.devicePixelRatio 1.3312500715255737(这是css和设备像素之间的比率)上.显然,这个问题与像素大小如何舍入和消除反应有关.

有奇巧之前的溶液-在视口中元标记设定"目标densitydpi =设备dpi的": <meta name="viewport" id="viewport" content="width=device-width, target-densitydpi=device-dpi, target-density=device-dpi, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"/>.这样我们得到1 css px = 1设备px.但是在Android KitKat中删除了target-densitydpi,没有其他方法可以解决这个问题.

对我来说这是一个错误.有人可以详细说明报告它的最佳地点在哪里吗?

Mat*_*unt 1

这不是一个错误。

我倾向于认为 1 CSS Pixel 相当于原生 Android 应用程序中的 1 Dip。

在网络中,您不希望迎合屏幕像素,就像您不希望在本机应用程序中使用屏幕像素一样(无论平台如何)。

我应该如何设置边框,这样每次看起来都一样,而且很细

重点是无论屏幕尺寸如何,它看起来都应该相同。您可能会更幸运地使用图像并将其应用为边框图像:http://www.w3schools.com/cssref/css3_pr_border-image.asp

或者有一些针对视网膜屏幕的 hacks 可能适用于 Nexus 7 分辨率:http://bradbirdsall.com/mobile-web-in-high-resolution