vector-effect
vector-effect 属性用于指定绘制对象时使用的矢量效果。矢量效果在任何其他合成操作(例如滤镜、蒙版和剪辑)之前应用。
注意: 作为演示属性,vector-effect 还有一个对应的 CSS 属性:vector-effect。当两者都被指定时,CSS 属性具有优先权。
元素
你可以将此属性与以下 SVG 元素一起使用
用法说明
| 值 |
none | non-scaling-stroke | non-scaling-size | non-rotation | fixed-position |
|---|---|
| 默认值 | none |
| 可动画的 | 离散 |
none-
此值指定不应用任何矢量效果,即使用默认渲染行为,该行为是首先用指定的画笔填充形状的几何图形,然后用指定的画笔描边轮廓。
non-scaling-stroke-
此值修改对象的描边方式。正常情况下,描边涉及在当前用户坐标系中计算形状路径的描边轮廓,并用描边画笔(颜色或渐变)填充该轮廓。此值的最终视觉效果是,描边宽度不依赖于元素的变换(包括非均匀缩放和仿射变换)以及缩放级别。
注意: 规范定义了另外三个值:non-scaling-size、non-rotation 和 fixed-position,但这些值尚未实现,并且被认为是“有风险的”。
示例
将 vector-effect 设置为 non-scaling-stroke
html
<svg viewBox="0 0 500 240">
<!-- normal -->
<path
d="M10,20 L40,100 L39,200 z"
stroke="black"
stroke-width="2px"
fill="none"></path>
<!-- scaled -->
<path
transform="translate(100,0) scale(4,1)"
d="M10,20 L40,100 L39,200 z"
stroke="black"
stroke-width="2px"
fill="none"></path>
<!-- fixed-->
<path
vector-effect="non-scaling-stroke"
transform="translate(300, 0) scale(4, 1)"
d="M10,20 L40,100 L39,200 z"
stroke="black"
stroke-width="2px"
fill="none"></path>
</svg>
结果
规范
| 规范 |
|---|
| Scalable Vector Graphics (SVG) 2 # VectorEffectProperty |
浏览器兼容性
加载中…
另见
- CSS
vector-effect属性