clip-path 属性用于裁剪元素显示区域,支持 inset、circle、ellipse、polygon 等形状函数,可创建圆形、椭圆、多边形等裁剪效果,如 clip-path: circle(50%) 实现圆形裁剪,clip-path: polygon() 定义多边形,inset() 可设置带圆角的内缩矩形,该属性不影响布局且支持过渡动画,配合百分比和媒体查询适用于响应式设计,现代浏览器兼容性良好。

在CSS中,clip-path 属性可以用来裁剪元素的显示区域,只显示特定形状的部分内容,其余部分被隐藏。它比传统的 overflow: hidden 更灵活,支持多种几何形状。
基本语法
clip-path 的基本写法如下:clip-path:
常用的 basic-shape 裁剪形状
以下是一些常见的 clip-path 形状函数:
- inset():创建矩形裁剪,可设置偏移和圆角
- circle():以圆形裁剪,指定半径和圆心
- ellipse():椭圆裁剪
- polygon():多边形裁剪,可自定义多个顶点
示例:
立即学习“前端免费学习笔记(深入)”;
clip-path: circle(50%); —— 裁剪为一个圆形,半径是元素宽高较小值的一半。
clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); —— 这是一个矩形,但你可以修改坐标创建三角形、五边形等。
使用 inset 裁剪带圆角的矩形
如果你想裁剪一个内缩并带圆角的矩形,可以用:
clip-path: inset(10% round 20px);
这表示上下左右各裁掉 10%,四个角用 20px 的圆角处理。实用技巧与注意事项
- clip-path 不影响布局,被裁剪的部分只是视觉上隐藏
- 可以在 transition 中动画 clip-path(尤其是 polygon 和 circle)实现酷炫动效
- 浏览器兼容性较好,现代浏览器都支持,但老版本 Safari 可能需要 -webkit- 前缀
- 调试时可用开发者工具实时调整 clip-path 值预览效果
响应式设计中的应用
使用百分比单位可以让裁剪形状随容器变化:clip-path: circle(30% at 50% 50%); —— 圆形大小基于元素尺寸动态调整。
搭配媒体查询,可在不同屏幕下切换裁剪形状。基本上就这些。clip-path 是一个强大且轻量的视觉控制工具,适合做非矩形容器、图片裁剪、交互动画等场景。










