Firefox中为SVG组设置变换原点不起作用
使用 transform-origin 在 Firefox 中遇到了问题(版本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></g></svg>
解决方案
我试图使用CSS变换围绕其中心点旋转一个简单的齿轮svg图形。我在Firefox中遇到了与您相同的问题;transform-origin 似乎没有任何效果。
解决方案是绘制原始svg形状,使其中心位于坐标0, 0:
<svg x="0px" y="0px" width="400px" height="400px" viewbox="0 0 400 400"> <rect></rect></svg>
然后在其周围添加一个组并平移到您想要的位置:
<svg x="0px" y="0px" width="400px" height="400px" viewbox="0 0 400 400"> <g transform="translate(150, 100)"> <rect></rect></g></svg>
现在你可以应用CSS变换,这些变换应该可以在Firefox中工作(我根据用户操作使用JavaScript向HTML标记添加一个类(js-rotateObject),并使用Minimizr检查浏览器是否可以处理变换和变换(.csstransforms.csstransitions):
#myObject { transform: rotate(0deg); transition: all 1s linear; } .csstransforms.csstransitions.js-rotateObject #myObject { transform: rotate(360deg); }
希望有帮助。
以上是为什么在 Firefox 中设置 SVG 组的变换原点不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!

这是我们在形式可访问性上进行的小型系列中的第三篇文章。如果您错过了第二篇文章,请查看“以:focus-visible的管理用户焦点”。在

本教程演示了使用智能表单框架创建外观专业的JavaScript表单(注意:不再可用)。 尽管框架本身不可用,但原理和技术仍然与其他形式的建筑商相关。

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载
最流行的的开源编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器