【发布时间】:2013-02-14 20:29:27
【问题描述】:
我在让 transform-origin 在 Firefox 中工作时遇到问题(v.18+,其他版本未测试)。 Webkit 浏览器按预期工作。我正在尝试将原点设置为组的中心,但到目前为止我尝试过的任何方法都没有奏效。
代码如下:
#test {
-webkit-transform-origin: 50% 50%;
transform-origin: center center;
-webkit-animation: prop 2s infinite;
animation: prop 2s infinite;
}
@-webkit-keyframes prop {
0% {
-webkit-transform: scale(1, 1);
}
20% {
-webkit-transform: scale(1, .8);
}
40% {
-webkit-transform: scale(1, .6);
}
50% {
-webkit-transform: scale(1, .4);
}
60% {
-webkit-transform: scale(1, .2);
}
70% {
-webkit-transform: scale(1, .4);
}
80% {
-webkit-transform: scale(1, .6);
}
90% {
-webkit-transform: scale(1, .8);
}
100% {
-webkit-transform: scale(1, 1);
}
}
@keyframes prop {
0% {
transform: matrix(1, 0, 0, 1, 0, 0);
}
20% {
transform: matrix(1, 0, 0, .8, 0, 0);
}
40% {
transform: matrix(1, 0, 0, .6, 0, 0);
}
50% {
transform: matrix(1, 0, 0, .4, 0, 0);
}
60% {
transform: matrix(1, 0, 0, .2, 0, 0);
}
70% {
transform: matrix(1, 0, 0, .4, 0, 0);
}
80% {
transform: matrix(1, 0, 0, .6, 0, 0);
}
90% {
transform: matrix(1, 0, 0, .8, 0, 0);
}
100% {
transform: matrix(1, 0, 0, 1, 0, 0);
}
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128px" height="128px" viewBox="0 0 16 16">
<g id="test">
<rect fill="#404040" x="7.062" y="3.625" width="1.875" height="8.75"/>
</g>
</svg>
【问题讨论】:
-
FWIW,据说在 Firefox 19 beta 3 中已修复,尽管我在 Firefox 22 中仍然遇到问题。Mozilla bugzilla 列表:bugzilla.mozilla.org/show_bug.cgi?id=828286
-
Ugh nvm 抱歉误读,我不确定该错误是否相关...
-
Firefox 中的 SVG 元素不支持 transform-origin。请投票bug #923193) 以获得支持。
-
@dotnetCarpenter 现在已在 Firefox 41+ 中修复
-
@zigomir 是的,你是对的!不过,它仍然不是默认的 firefox 浏览器。但是,是的,这个问题将在下一个 Firefox 版本中消失。测试:bug1013421.bmoattachments.org/attachment.cgi?id=8425610
标签: html css firefox svg css-transforms