在safari中css3边界半径动画过渡不起作用

时间:2012-11-20 14:25:19

标签: animation safari webkit css3

尝试在Safari中对图像的边框半径进行css3轻松过渡。

它只是在悬停状态而不是平滑过渡时闪烁。 非常感谢任何帮助

代码:

<style>
.all a:hover img {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=100);
    -moz-opacity:1;
    -khtml-opacity: 1;
    opacity: 1;
    -webkit-filter: grayscale(0%);
}
.all a img {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    width: 50%;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=90);
    -moz-opacity:0.9;
    -khtml-opacity: 0.9;
    opacity: 0.9;
}
.all a img {
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}
.all a img {
    -webkit-filter: grayscale(100%);
    transition: border-radius .3s ease;
    -moz-transition: -moz-border-radius .3s ease,border-radius .3s ease;
    -webkit-transition: -webkit-border-radius .3s ease,border-radius .3s ease;

}
</style>

<ul class="thumbs">
    <li class="all identity">
        <a href="projects/project_identity/index.html"><img src="http://imjoeybrennan.com/images/logos_t.jpg" alt="Logos"/></a>
    </li>
</ul>

链接到该网站: http://imjoeybrennan.com

2 个答案:

答案 0 :(得分:2)

这是一个简单的修复,Safari不支持从像素到百分比的转换。如果您将悬停样式从50%更改为100px,您将看到转换将顺利进行。

.all a:hover img {
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px
    border-radius: 100px;

}

您可能希望将它们设置为图像高度和宽度加倍的任何值,以确保它们在悬停时始终会被舍入。

答案 1 :(得分:2)

以下内容适用于父元素,边框半径应用于将webkit重新放回到我的行中:

-webkit-mask-image: -webkit-radial-gradient(white, black);

另一种选择是将元素包装在两个边界半径父级中。

对我来说似乎很苛刻,但远比双包装更好 - 有兴趣听其他解决方案。