在Firefox中忽略了SVG中心的CSS转换起源

时间:2014-03-12 18:48:32

标签: html css firefox svg css-transforms

我的html中有一个内联的svg图标,当悬停时,应用css scale变换。我已经将transform-origin属性设置为路径的父组*的中心/ 50%,它在Webkit中运行良好但在Firefox中被忽略。有什么想法吗?

这是jsFiddle

HTML / SVG:

<div class="col3 build websites-content">
    <svg class="svg-icon icon-build" width="75px" height="75px">
        <g><path fill="#fff" d="M17.5,39.7L28.8,42v13.5l9.5-8.5L49,55.5l4.5-36L17.5,39.7z M35.5,42L31,48.7V42l18-18L35.5,42z"/></g>
    </svg>
</div>

CSS(忽略供应商前缀):

.websites-content g {
    transition: transform 0.3s ease;
    transform-origin: center center;
}

.websites-content:hover g {
    transform: scale(1.3);
}

*我有其他图标包含多个路径,需要一个组 - 为了清晰起见,只使用此单路径示例

1 个答案:

答案 0 :(得分:1)

我设法使用translate来解决缩放导致的翻译问题:

.websites-content:hover g {
 -webkit-transform: scale(1.3) translate(-8.6px, -8.6px);
 -moz-transform:    scale(1.3) translate(-8.6px, -8.6px);
 -ms-transform:     scale(1.3) translate(-8.6px, -8.6px);
  transform:        scale(1.3) translate(-8.6px, -8.6px);
}

jsfiddle