chrome 和 safari 中的图像缩放错误

Image scaling error in chrome and safari

在我的网页中,我有一个 div border-radius:50%;在 div 我添加了一张图片,当悬停在该图片上时,它会缩放到 1.2。这东西在 mozilla 中正常工作,但是当我来到 chrome 和 safari 时,图像通过溢出它比圆形 div(边界半径:50%)缩放,为什么会这样。有什么方法可以解决这个问题吗?

代码

HTML

<div class="work-round">
  <img src="images/latestwork_01.png">
</div>

CSS

.work-round {
    border: 5px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    margin: 10px auto;
    max-height: 250px;
    overflow: hidden;
    width: 250px;
}

.work-round img {
    background: none repeat scroll 0 0 #fff;
    height: 100%;
    min-height: 240px;
    transition: all 0.5s ease-out 0s;
    width: 350px;
}
.work-round img:hover {
    opacity: 0.9;
    transform: scale(1.2);
}

fiddled here

悬停屏幕截图

nickspiel 在这里找到的解决方案:css3 border radius animation transition in safari not working

参见: https://jsfiddle.net/KyleKatarn/s0bpp0ho/6/

.work-round {
    -webkit-mask-image: -webkit-radial-gradient(white, black);

要在 Safari 上获得部分支持: https://jsfiddle.net/KyleKatarn/s0bpp0ho/7/

这是一种解决方案(在 Chrome 上测试过)

*{

    background:red;
}
.work-round {
    border: 5px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    margin: 10px auto;
    max-height:250px;
    overflow:hidden;
    width:250px;
    transition: all 2s linear;    
    -webkit-mask-image: -webkit-radial-gradient(circle, white, black);


}

.work-round img {
        background: none repeat scroll 0 0 #fff;
    height: 100%;
    min-height: 240px;
    transition: all 0.5s ease-out 0s;
    width: 350px;

    -webkit-border-radius: 500px;width:100%;height:100%;

}
.work-round img:hover {
    opacity: 0.9;
    -webkit-transform:scale(1.2);
}

我编辑了你的代码查看结果here

它 chrome 缩放和溢出的 BUG。

对于具有 ( overflow:hidden ) 的容器 添加(在您的情况下是 .work-round )

position:relative;
z-index:1;