Opera,border-radius和overflow:hidden

时间:2013-10-13 19:47:53

标签: css css3 cross-browser rounded-corners

我遇到以下问题:jsfiddle

从示例中可以看出,Opera(版本12.16)不会剪切位于div内的图像的边框。它返回带圆角的div,但无法隐藏溢出的图像角。在其他浏览器中没有这样的问题持续存在我的代码:

<div style="overflow:hidden; border-radius:200px; width:200px; height:200px; border:1px solid black;">
    <img src="http://www.blogcdn.com/www.autoblog.com/media/2012/06/lamborghini-aventador-f16-fighting-falcon.jpg" style=" width:200px; height:200px; ">
</div>

有没有办法解决这个问题?

3 个答案:

答案 0 :(得分:0)

如果合适,请将border-radius直接添加到<img>代码样式。

答案 1 :(得分:0)

这是一个错误,在Opera 12.16及更低版本中不可能将图像的边角包裹在包装div中。

可以通过给父(包装)div相对定位,将图像附加为背景图像并使用其顶部和左侧坐标定位来解决。

如果图像很大,则应使用其background-size属性调整大小。

以下是更新后的jsfiddle链接:jsfiddle

<div style="position:relative; overflow:hidden; border-radius:200px; width:200px; height:200px; border:1px solid black; background-image:url(http://www.blogcdn.com/www.autoblog.com/media/2012/06/lamborghini-aventador-f16-fighting-falcon.jpg); background-size:200px 200px;"></div>

答案 2 :(得分:-1)

是。升级到Opera 17,它基于Google Chromium,例如。和Chrome一样。这应该使渲染类似于Chrome和其他浏览器。