使用CSS3过渡的溢出问题

时间:2013-10-09 10:26:56

标签: css3 css-transitions

我正在尝试在下面的JsFiddle上看到一个小动画。

但是你可以看到边界半径在动画期间不起作用......

有一个解决方法吗?

http://jsfiddle.net/toroncino/V4V97/

这是我的代码:

a {
    border-radius: 10px;
    display: inline-block;
    height: 300px;
    overflow: hidden;
}

a img {
    -moz-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    width: 100%;
    height: 100%;
}

a:hover img {
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

1 个答案:

答案 0 :(得分:2)

这是Chromium继承的Webkit中的一个长期存在的错误(参见https://bugs.webkit.org/show_bug.cgi?id=68196)(参见https://code.google.com/p/chromium/issues/detail?id=157218

How to make CSS3 rounded corners hide overflow in Chrome/Opera

中发布了一种解决方法

您基本上需要在容器元素上设置CSS Mask

/*1x1 pixel black png*/
-webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);

工作演示 http://jsfiddle.net/V4V97/2/