css - 元视口(viewport)(固定宽度)在具有背景颜色的透明图像上导致不需要的边框

标签 css google-chrome opera

请注意,在运行以下所有代码段时,要全面了解问题:请在移动 View 上查看(例如,使用 chrome 开发人员工具中的切换设备工具栏功能)。

这个图像很好(没有使用元视口(viewport))

.image-ok {
  height: 300px;
  width: 300px;
  background-color: purple;
}
<html>

  <body>
    <img class="image-ok" src="https://i.ibb.co/mTPWBWC/shirt.png">
  </body>

</html>


但是,当我使用代码时 <meta name="viewport" content="width=1440">
并在移动设备上查看页面(即让元视口(viewport)启动)
透明图像上的边框开始出现......

这是产生不需要的边框的示例:

.image-not-ok {
    background-color: black;
}
<html>

  <head>
    <meta name="viewport" content="width=1440">
  </head>

  <body>
    <img class="image-not-ok" src="https://i.ibb.co/mTPWBWC/shirt.png">
  </body>

</html>

使用移动 View 查看出现的不需要的边框

enter image description here

问题:为什么会出现这种情况,如何使用 CSS 来防止出现此类边框?

注意:

  • 使用 Google Chrome 74.0.3729.131 和 Opera 58.0.3135.132 进行测试(均为移动 View )
  • Mozilla 上似乎没有出现该问题(使用 66.0.5 版测试)

最佳答案

问题不在于视口(viewport)标签,它与它没有任何关系。它与浏览器上的渲染有关。问题是图像不能正确地适合图像,因为它会产生类似填充的效果,导致看到背景颜色。 例如,尝试将背景颜色更改为白色,然后看到更多类似边框的效果消失。

关于css - 元视口(viewport)(固定宽度)在具有背景颜色的透明图像上导致不需要的边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56123039/

相关文章:

css - 在 Polymer app-header 上更改 CSS 变量背景图片

jquery - 试图让 JScrollPane 与 div 元素一起工作

google-chrome - 将控件移至Chrome调试器工具中的其他行

css - Chrome 可视化问题 CSS

javascript - Opera post(GET)s URL 的散列片段

javascript - Opera:无法从 window.open() 获取加载事件

css - Firefox、Opera 位置 : absolute

javascript - 网站应用程序的文件上传插件和显示

javascript - 如何按类获取元素并提供CSS效果?

google-chrome - chrome 扩展 - 对 Chrome 版本的限制