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
属性