我正在使用WebView(=应用程序中的嵌入式浏览器)在Android应用程序中加载页面,并具有标准设置:

mywebView = (WebView) findViewById(R.id.activity_main_webview);
...
mywebView.loadUrl("http://example.com/test");


除以下小问题外,其他所有内容均正常运行:

问题:1像素宽的边框无法正确显示:边框的四个侧面中的一或两个是2px而不是1px。看起来像这样:

android - 当devicePixelRatio = 1.5时,Webview中的CSS 1px边框在某些侧面提供2px边框-LMLPHP


我注意到我的设备上的window.devicePixelRatio = 1.5
这是HTML代码(我不使用代码段,因为它们无论如何都无法在移动设备上运行):

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css">
#test { display: inline-block; border: 1px solid #c4c4c4; padding: 9px; }
</style>
</head>
<body>
<a id="test">Test</a>
</body>
</html>

this question中给出的解决方案(我已经在其中悬赏,所以我已经测试了答案)不起作用:border: 0.5px solid black;border: 0.75px solid black;根本不显示边框,因此这不是重复的。当devicePixelRatio = 1.5(其行为不同于12)时,这是一个特定的问题
Live demo here,我无法在Android版Chrome浏览器中重现该问题,而只能在使用WebView并显示相同页面的Android应用程序中重现(奇怪,WebView使用与Chrome相同的渲染引擎吗?)

最佳答案

我只是有一个类似的问题,并且已经解决,如果这个解决方案对您没有帮助,我就不会:

它为div留出了一定的余量

.brand .col-8 {
    padding-right:0;
    margin-right:-1px;
}
.brand .col-4 {
    border-left:1px solid #d8d8d8;
}

10-07 19:34
查看更多