我有一张边界半径为50%的图片,周围有一个3px的边界,我的问题是当边界半径给定时,图片和边界之间有一个1px的间隙。
问题如下图所示。
我用的CSS,
img {
border: 3px solid #4CB7AC;
height: 46px;
width: 46px;
border-radius:50%;
}
请注意
- 图像大小为46px X 46px。未调整大小。
- 而且我必须使用
<img>
来获取图像。将其设置为背景图像被排除。 - 解决方案必须兼容所有浏览器。甚至IE8。
有没有办法消除这种差距?
编辑JS Fiddle link
7条答案
按热度按时间lndjwyie1#
只需添加
Background color
相同的边框颜色和它的固定。参见jsFiddle
gijlo24d2#
background-color
的建议效果很好,但是如果您的背景颜色不够理想(例如,PNG图像的透明度较差),则可以使用background-clip: border-box;
有关该属性的更多详细信息,请参见background-clip on MDN。
j5fpnvbx3#
试着这样做:
此外,对于IE8和更低版本,请尝试使用条件注解替换边框半径并添加通用. png图像
您看到的间隙是使用border-radius的一个"bug",您也可以尝试通过添加与边框颜色相同的图像背景色来修复它:
lnlaulya4#
将
font-size:0
添加到img
应该可以解决您的问题。dpiehjr45#
无溢出:隐藏使用LEFT和Top,高度也等于父级
zbsbpyhn6#
在这种情况下,您可以在
CSS
文件的顶部尝试以下操作:为了防止图片缩小,你可以在你的
img
类中添加以下CSS规则:object-fit: cover;
.b1uwtaje7#
首先你应该给img标签添加一个类:
否则,它将改变您网站中的所有图像。
你可以使用css的"object-fit"属性来修正这个小缺口。
x一个一个一个一个x一个一个二个x