SVG 的 clip-path 通过定义可见区域裁剪元素,需在 中用 定义图形(如circle、rect),再以 clip-path="url(#id)" 引用;默认坐标系为 userSpaceOnUse,支持多图形并集裁剪。
SVG 的 clip-path 通过定义一个可见区域,让目标元素只在该区域内显示,区域外的部分被“裁掉”。用 XML 方式实现,核心是:先定义一个 元素(通常放在 中),再用 clip-path 属性引用它。
必须把裁剪路径写在 里,再用 url(#id) 指向它。路径可以是 、、、 等任意 SVG 图形,图形内部即为可见区。
clip-path="url(#myClip)"
矩形裁剪最常用,适合做头像框、卡片圆角等;圆形适合头像;多边形可做三角、六边形等异形裁剪。
clipPath 默认使用对象边界盒(objectBoundingBox)还是用户坐标系,取决于 clipPathUnits 属性。默认是 userSpaceOnUse,即按 SVG 当前坐标系理解数值;设为 objectBoundingBox 时,数值是相对被裁元素宽高的比例(0–1)。
表示以元素中心为圆心、半径为宽度 40% 的圆userSpaceOnUse(默认),明确控制像素位置transform,clipPath 不会自动跟随变换,需手动同步或把 transform 移到 group 外层一个 可被多个元素引用;也可在 clipPath 内部嵌套多个图形,它们按布尔“并集”方式合并(即任意一个图形覆盖的区域都可见)。
→ 类似“8”字形可见区 配合 alpha 通道