微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Brave/Chrome 浏览器中图像周围不需要的边框半径角

如何解决Brave/Chrome 浏览器中图像周围不需要的边框半径角

我尝试在带有 border-radius: 5px; 的容器内显示一个简单的图像。但是在角落处似乎有一个细边框的轮廓(您需要仔细查看下图)。我怎样才能避免这些角边界?

enter image description here

.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 浏览器。

解决方法

使用掩码代替溢出会得到更好的结果(两者的行为相同,因为两者都隐藏外面的东西)

.cover {
  margin: 1em;
  padding: 1em;
}

.image-wrapper {
  height: 15em;
  width: 15em;
  background-color: black;
  border-radius: 15px;
  -webkit-mask:linear-gradient(#fff 0 0);
}

img {
  height: 100%;
  width: auto;
}

body {
  background:pink;
}
<div class="cover">
  <div class="image-wrapper">
    <img src="https://images.pexels.com/photos/316466/pexels-photo-316466.jpeg" />
  </div>
</div>

<div class="cover">
  <div class="image-wrapper">
    <img src="https://picsum.photos/id/17/200/300" />
  </div>
</div>

,

很确定这是一个 webkit 错误,因为从 devtool 关闭并重新打开 borer-radius 修复了它。 一种可能的解决方法是不使用包装器并将 object-fit:cover 添加到图像以使其具有响应性。您也可以尝试 object-fit:contain,但这会产生黑色条纹。如果您愿意,可以从 Help>Report an Issue 发送 Chrome 错误报告。

编辑:没关系。显然,如果您上下滚动页面几次,它会自行修复,我认为它有效。

.cover {
    margin: 1em;
    padding: 1em;
}

img {
    border-radius: 15px;
    height: 100%;
    width: auto;
    height: 15em;
    width: 15em;
    overflow: hidden;
    background-color: black;
    border-radius: 15px;
    object-fit:cover;
}
<div class="cover">
    <div class="image-wrapper">
        <img
            src="https://images.pexels.com/photos/316466/pexels-photo-316466.jpeg"
        />
    </div>
</div>

,

这个 hack 似乎有效。

background-clip: content-box;
padding: 1px;

background-clip: content-box;-webkit-mask

有更好的浏览器支持

.cover {
    margin: 1em;
    padding: 1em;
}
.image-wrapper {
    height: 15em;
    width: 15em;
    overflow: hidden;
    background-color: black;
    border-radius: 15px;
    background-clip: content-box;
    padding: 1px;
}
img {
    height: 100%;
    width: auto;
}
<div class="cover">
    <div class="image-wrapper">
        <img src="https://images.pexels.com/photos/316466/pexels-photo-316466.jpeg" alt="hello" />
    </div>
</div>

,

这可能是因为 background-color: black;。尝试删除它,如果它不起作用,请添加 border: none;

,

我猜它可能是你的图像,在我的笔记本电脑上经历了相同的格式,我的图像从未提供圆角边框,但添加边框:无;到您的代码并查看结果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?