You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何复刻Figma中承载媒体的带圆角切角矩形异形?

实现带自定义切角+圆角的媒体容器

针对你需要在承载视频/图片的矩形上制作自定义切角(同时保留圆角)的需求,推荐两种无需拼接元素的纯CSS方案:

方案一:使用CSS clip-path 自定义路径

直接通过clip-path的path()函数定义包含圆角和切角的完整路径,容器内的媒体内容会自动适配这个形状:

/* 媒体容器 */
.media-container {
  width: 400px; /* 根据实际需求调整尺寸 */
  height: 300px;
  overflow: hidden;
  /* 用SVG路径语法定义形状:圆角20px,上下左右各有60px长的凹切 */
  clip-path: path('M20,20 L380,20 C391.045695,20 400,28.954305 400,40 L400,260 C400,271.045695 391.045695,280 380,280 L20,280 C8.954305,280 0,271.045695 0,260 L0,40 C0,28.954305 8.954305,20 20,20 Z M60,20 L60,60 M340,20 L340,60 M60,280 L60,240 M340,280 L340,240');
}

/* 媒体内容样式 */
.media-container img,
.media-container video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 保证媒体内容铺满容器 */
}

快速复刻Figma设计的技巧

在Figma中选中目标形状,右键选择复制SVG,提取代码中<path>标签的d属性值,直接替换到上述CSS的clip-path: path('')中即可完美匹配设计。

方案二:使用CSS遮罩(Mask)

如果需要更好的浏览器兼容性,或者形状更复杂,可以用SVG作为遮罩:

.media-container {
  width: 400px;
  height: 300px;
  /* 内联SVG作为遮罩,路径同样可从Figma导出 */
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 300"><path d="M20,20 L380,20 C391.045695,20 400,28.954305 400,40 L400,260 C400,271.045695 391.045695,280 380,280 L20,280 C8.954305,280 0,271.045695 0,260 L0,40 C0,28.954305 8.954305,20 20,20 Z M60,20 L60,60 M340,20 L340,60 M60,280 L60,240 M340,280 L340,240" fill="white"/></svg>');
  mask-mode: alpha;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}

.media-container img,
.media-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

为什么绝对定位叠加不可行?

这种方式会用额外元素覆盖容器,不仅会遮挡媒体内容的交互(比如视频播放控件),还无法让容器本身的圆角与切角自然融合,而上述两种方案都是直接对容器进行形状裁剪/遮罩,内容会完全适配容器形状,没有遮挡问题。

内容的提问来源于stack exchange,提问作者ongang1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:12:16