我认为SVG的重要优点之一就是可扩展性。我很擅长使用SVG进行多种方式的缩放和响应。通常情况下,可以在SVG元素上设置viewbox,基于屏幕的像素将创建一个坐标系。因此所有的变换,平移,旋转,倾斜等都将相对于SVG自身的坐标系。我认为这比在翻译等方面使用CSS动画更具优势,因为你必须使用像素这样的测量单位,而我认为这会导致不同分辨率的屏幕或调整浏览器窗口大小时产生不当的翻译。
有人能解释一下,为什么以下CSS动画实际上会在resize窗口之前或使用不同的屏幕分辨率后元素的位置保持不变吗?
JavaScript
请注意,我为`g`元素设置了内联CSS,这将确保在使用JavaScript修改样式时触发转换。 我假设在不同的分辨率下,这个`g`元素会出现在不同的位置。
svg元素是否在后台忽略了我通过css进行的平移操作,仍然按照我设置的视口缩放像素尺寸?
这是我唯一能想到的事情,如果是这种情况,我希望提供一些文档链接:)
有人能解释一下,为什么以下CSS动画实际上会在resize窗口之前或使用不同的屏幕分辨率后元素的位置保持不变吗?
JavaScript
var g= document.getElementById("testingG");
g.setAttribute("style", "transform: translate("+dockingPoint[0]+"px, "+dockingPoint[1]+"px)");
CSS
#testingG {
transition: 1s ease-in;
}
HTML
<svg viewBox="0 0 1409 78.875" >
<g id="testingG"style="transform: translate(1375px, 40px)">
<circle r="10" cy="0" cx="0" style="fill: rgb(151, 215, 241);"></circle>
<text transform="translate(-170, 27)">Testing</text>
</g>
请注意,我为`g`元素设置了内联CSS,这将确保在使用JavaScript修改样式时触发转换。 我假设在不同的分辨率下,这个`g`元素会出现在不同的位置。
svg元素是否在后台忽略了我通过css进行的平移操作,仍然按照我设置的视口缩放像素尺寸?
这是我唯一能想到的事情,如果是这种情况,我希望提供一些文档链接:)