当devicePixelRatio = 1.5时,Webview中的CSS 1px边框在某些边上提供2px边框

时间:2018-03-21 20:14:57

标签: android html css android-webview border

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

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

除了以下小问题外,一切正常:

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

enter image description here

  • 我注意到我的设备上有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我无法在Chrome for Android中重现,但只能在使用WebView的Android应用中显示同一页面(很奇怪,不是't WebView使用与Chrome相同的渲染引擎?)

1 个答案:

答案 0 :(得分:0)

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

它为div留出了余地

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