html - 以百分比形式指定路径标记的 d 属性值

标签 html svg path

如何使用 path 标记的 d 属性的百分比值?

例如:

<path stroke-width="4" d="M1% 10% l100% 0" />

不起作用。

由于我想在 svg 大小发生变化时重用 svg 标记中的元素,因此我正在寻找绝对值(以百分比表示)。

提前致谢..

最佳答案

SVG 路径数据仅允许无量纲数字、句点。

如果你想改变路径的大小,你可以使用 transform 来实现。属性或通过建立新视口(viewport)。例如,您可以使用 <svg> 包裹您的路径。最外面的元素 <svg> :

<svg ...>
    <svg viewBox="0 0 100 100" x="0" y="10%" width="100%" height="100%">
        <path stroke-width="4" d="M1 10 l100 0" />
    </svg>
</svg>

在那里,您可以将路径坐标定义为绝对值。内在<svg>定义了 viewBox这样路径就可以跨越您想要的数量。然后可以使用 x 进行相对大小和定位, y , widthheight属性。

如果您想多次重复使用同一元素,可以使用 <symbol> 执行相同的操作(不会自行渲染的模板)和 <use>引用它的元素:

<svg ...>
    <symbol id="myPath" viewBox="0 0 100 100">
        <path stroke-width="4" d="M1 10 l100 0" />
    </symbol>
    <!-- with relative sizes -->
    <use xlink:href="#myPath" width="100%" height="100%" />
    <!-- with absolute sizes -->
    <use xlink:href="#myPath" width="200" height="160" />
    <!-- using transforms -->
    <use xlink:href="#myPath" transform="translate(50, 0) scale(3.5)" />
</svg>

关于html - 以百分比形式指定路径标记的 d 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46139273/

相关文章:

Java eclipse 路径文件可执行文件

html - Bootstrap3 和导航栏,如何将这个 li 标签右对齐?

javascript - 什么是 "document.currentScript"和 "ownerDocument"?

html - 如何从html表格中删除垂直线?

javascript - 通用库的 <svg> 的 setAttributeNS xmlns

javascript - d3.js - d3.select ("#id).remove() or .attr("类”, "hidden")不工作

python - 如何知道调用python脚本的目录?

javascript - 如何围绕 bootstrap form-inline 对齐 div

c++ - 使用 Direct2D 绘制 SVG 路径 : Can't draw elliptical arc

java - log4j 不加载自定义属性配置