示例
html
<svg viewBox="0 0 100 100">
<clipPath id="myClip1" clipPathUnits="userSpaceOnUse">
<circle cx="50" cy="50" r="35" />
</clipPath>
<clipPath id="myClip2" clipPathUnits="objectBoundingBox">
<circle cx=".5" cy=".5" r=".35" />
</clipPath>
<!-- Some reference rect to materialized to clip path -->
<rect id="r1" x="0" y="0" width="45" height="45" />
<rect id="r2" x="0" y="55" width="45" height="45" />
<rect id="r3" x="55" y="55" width="45" height="45" />
<rect id="r4" x="55" y="0" width="45" height="45" />
<!-- The first 3 rect are clipped with userSpaceOnUse units -->
<use clip-path="url(#myClip1)" href="#r1" fill="red" />
<use clip-path="url(#myClip1)" href="#r2" fill="red" />
<use clip-path="url(#myClip1)" href="#r3" fill="red" />
<!-- The last rect is clipped with objectBoundingBox units -->
<use clip-path="url(#myClip2)" href="#r4" fill="red" />
</svg>
clipPath
对于 <clipPath>
,clipPathUnits
定义了元素内容使用的坐标系。
值 | userSpaceOnUse | objectBoundingBox |
---|---|
默认值 | userSpaceOnUse |
可动画的 | 是 |
- userSpaceOnUse
-
此值表示
<clipPath>
元素内的所有坐标都指的是在创建剪切路径时定义的用户的坐标系。 - objectBoundingBox
-
此值表示
<clipPath>
元素内的所有坐标都相对于应用了剪切路径的元素边界框。这意味着坐标系的起点是对象边界框的左上角,并且对象边界框的宽度和高度被视为具有 1 个单位的值。
规范
规范 |
---|
CSS 蒙版模块 Level 1 # element-attrdef-clippath-clippathunits |