路径裁剪

@Clip-path
Introduction
. 按照指定的形状/路径裁剪背景色/背景图像,如扫光、暗夜模式切换
. 会导致内容、阴影、边框等显示缺失/被切掉
. 不会影响伪元素的内容
. 裁剪方式:圆 circle、椭圆 eclipse、多边形 polygon 等等
. 最佳体验:对伪元素背景裁剪
. 不要直接用到 <html> 或 <body>
. 更多裁剪方式,请访问 clip-path maker
. 使用内嵌矩形裁剪
. 距离/大小/百分比和可选的圆角;参数个数遵循上右下左的原则
. 更多案例,请访问 inset()
clip-path: inset(length/percentage [ round border-radius ])
clip-path: inset(20px round 10px);
. 使用圆裁剪
. 1个半径 radius;1个位置 position;默认是图像中心
. 更多案例,请访问 circle()
clip-path: circle(radius [ at x y ])
clip-path: circle(50%);
[] 定制单选/多选按钮
.cb[type='checkbox'] {
  appearance: none;
  width: 20px;
  height: 20px;
  background-color: #f1f1f1;
  clip-path: circle(50%);
  accent-color: var(--main-color);
}

.cb[type='checkbox']:checked {
  appearance: auto;
}
或者选中时,使用伪元素模拟符号;这里使用 阿里字体图标
.cb[type=checkbox]:checked::before {
  content: '\e6aa';
  font-family: 'iconfont';
  color: #f40;
  font-size: 18px;
}
. 使用椭圆裁剪
. 2个半径 radius;1个位置 position;默认是图形中心
clip-path: eclipse(rx ry [ at x y ])
clip-path: ellipse(50% 50%);
clip-path: ellipse(50% 50% at 0 50%);
. 裁剪的顶点顺序不做要求,按照一定的方向即可
1. 菱形
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
2. 三角形
. 还可以使用0大小粗边框元素创建三角形,见 边框一节
clip-path: polygon(50% 0, 0 100%, 100% 100%);
.cp-img4 {
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.cp-img4 {
    clip-path: polygon(0 100%, 50% 0%, 100% 100%);
}
. 自定义路径裁剪;功能最强大
. M:移动
. L:画线
. A:画弧;rx ry x-axis-rotation large-arc-flag sweep-flag x y
. 更多案例,请访问 Path A
A 参数
item desc
rx 椭圆的长半轴;x方向半径
ry 椭圆的短半轴;y方向半径
x-axis-rotation 椭圆相对于当前坐标系旋转的角度;单位是度数
large-arc-flag 弧度选择;0:小弧;1:大弧
sweep-flag 弧线绘制方向;0:逆时针;1:顺时针
x y 圆弧终点坐标
案例 Cases