我有一个元素,我用 translate3d 变换设置了动画。父元素具有overflow: hidden
,但在 Firefox Mobile 19.0.2 上,动画期间动画元素在父元素之外可见。
动画top
属性而不是translate3d
工作,但它不是硬件加速并且不够平滑。
它适用于我测试过的所有其他移动和桌面浏览器。
我想这是一个 Firefox Mobile 错误,但有人有解决方法吗?
这是用于测试的 jsfiddle 链接:http: //jsfiddle.net/dioslaska/6h8qe/
最小的测试用例:
HTML:
<div id="cont">
<div id="translate">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
</div>
</div>
CSS:
#cont {
width: 50px;
height: 90px;
border: 1px solid black;
margin: 20px;
overflow: hidden;
}
#translate {
-webkit-transition: all 1s ease-out;
-moz-transition: all 1s ease-out;
}
#translate.a {
-webkit-transform: translate3d(0, -60px,0);
-moz-transform: translate3d(0, -60px,0);
}
#translate div {
height: 30px;
line-height: 30px;
text-align: center;
}
更新:看起来问题在 Firefox 27 中得到了解决。