【发布时间】:2021-02-20 06:31:16
【问题描述】:
我尝试在带有border-radius: 5px; 的容器内显示一个简单的图像。但是角落似乎有一个细边框的轮廓(您需要仔细查看下图)。我怎样才能避免这些角落边框?
.cover {
margin: 1em;
padding: 1em;
}
.image-wrapper {
height: 15em;
width: 15em;
overflow: hidden;
background-color: black;
border-radius: 15px;
}
img {
height: 100%;
width: auto;
}
<div class="cover">
<div class="image-wrapper">
<img
src="https://images.pexels.com/photos/316466/pexels-photo-316466.jpeg"
/>
</div>
</div>
是的,如果我删除 background-color: black;,它就会消失。但是我需要保留background-color,我还需要img { height: 100%; width: auto; } 来保持纵横比,并在图像尺寸太薄或太宽等情况下照顾场景。
搜索其他类似问题,我只能找到 Safari 的问题/回复。我正在使用 Brave 浏览器。
【问题讨论】:
-
在 .image-wrapper 上添加
border-color: transparent会消除这种情况吗? -
是的。这似乎是一个 Chrome 错误。如果您从 devtools 打开/关闭半径,它会修复它。很奇怪。
-
@Miro 遗憾的是边框颜色透明并不能解决问题。可能发生的情况是,如果您在说开发工具中进行尝试,事情会发生轻微变化,并且“剩余”像素会消失。将边框颜色:透明放入实际的 sn-p 并运行它,不需要的点在那里(在某些缩放级别上)。
-
对不起,我看错了。我尝试使用
background:none;或透明,它可以工作。 -
这似乎与系统如何处理这样一个事实有关',取决于用于将弧映射到屏幕像素的计算。 @temaniafif 的答案是迄今为止唯一有效的建议(其他人依赖于事物的变化,例如因为使用开发工具和随后的缩放)。