CSS3 词条目录
前端Wiki/词条/clip-path

clip-path

定义按路径裁剪元素的可绘制区域,区域外的部分完全不渲染(也不响应点击)

最常用的是 polygon() 多边形裁剪:clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%) 一行切出带斜角的横幅;circle(50% at 50% 50%) 切圆;inset(10px round 8px) 切内切矩形。坐标系以元素左上角为原点,支持百分比。

与 overflow:hidden 的区别:overflow 裁剪的是「内容溢出」,且受 border-radius / 绝对定位子元素逃逸等问题困扰;clip-path 直接按几何形状裁掉绘制与命中区域,干净利落。配合 transition 只能平滑插值同类型路径(顶点数一致),否则瞬变。

HTML
<style>
  .shapes { display:flex; gap:16px; padding:24px; flex-wrap:wrap; }
  .b { width:120px; height:90px; background:linear-gradient(135deg,#4a9eff,#a371f7);
       transition: clip-path .3s; }
  .p1 { clip-path: polygon(0 0, 100% 0, 100% 75%, 50% 100%, 0 75%); }
  .p2 { clip-path: circle(38% at 50% 50%); }
  .p3 { clip-path: inset(8% round 12px); }
  .b:hover { clip-path: none; }   /* 悬停恢复完整矩形 */
</style>
<div class="shapes">
  <div class="b p1">斜角横幅</div>
  <div class="b p2">圆形</div>
  <div class="b p3">圆角内切</div>
</div>
⚠ 常见误区
🔗 相关词条calc 与 clip-pathtransform 变换
← 返回来源章节calc 与 clip-path