html – 如何按视窗的百分比翻译SVG组

我有一个svg< rect>也就是< g> (组),我想缩放它,然后翻译一个百分比的视口。 svg中的大部分内容都允许通过一个可笑的选项来指定单位;例如px,em,%,ex,pt,pc,…但是,似乎在翻译中指定的数字只是像素。

事情是,如果我必须返回并重新计算翻译的像素值,那么我的svg变得依赖于分辨率。然后我,你和每个人都会被吸入一个悖论。你可以看到为什么我有点担心。

<svg>
  <g transform="scale(1,1) translate(0,0)">
    <rect x="45%" y="25%" height="50%" width="10%"/>
  </g>
</svg>

http://jsbin.com/ubeqot/1/edit

解决方法

坚持< g>内部< svg>中的元素元素,并将具有百分比值的x和y属性添加到内部< svg>元素来翻译它。
<svg>
  <svg x="10%" y="20%">
    <g transform="scale(1,1)">
      <rect x="45%" y="25%" height="50%" width="10%"/>
    </g>
  </svg>
</svg>

如果您希望首先应用比例,则可以将< svg> < g>内的元素代替。

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些