mcpField
G
gabrielobholz-corner-smoothing

gabrielobholz-corner-smoothing

github.com/gabrielobholz设计与 UI2147 次安装18 周前更新
代码仓库

关于 gabrielobholz-corner-smoothing

gabrielobholz-corner-smoothing 是一项用于生成 Apple/iOS 风格平滑圆角的设计技能,面向实现相关形状的开发者。它采用路径几何而非单纯增大 CSS 圆角,并说明半径约束、布局稳定和路径动画。

主要功能

  1. 01按尺寸生成平滑圆角路径
  2. 02支持 SVG、CSS、Canvas 和 WebGL
  3. 03半径限制为短边的一半
  4. 04默认以 60% 作为 Apple 风格目标
  5. 05动画仅更新路径

适用场景

  1. 01实现 Figma 风格的平滑圆角
  2. 02为 DOM 或 SVG 矩形生成路径
  3. 03在 Canvas 或 WebGL 绘制形状
  4. 04避免圆角动画改变布局尺寸

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gabrielobholz/corner-smoothing-skill --skill gabrielobholz-corner-smoothing

安装后在 Claude Code 中输入/gabrielobholz-corner-smoothing确认已加载。

附带文件agents/openai.yamlreferences/implementation.md

详细介绍

Apple 圆角平滑

当设计需要 Apple/iOS 风格的圆角平滑效果时,尤其是常见的 Figma 圆角平滑度 60% 效果,请使用基于路径的几何形状。仅靠 CSS border-radius 无法表达这种形状。

快速参考

需求使用方式
DOM/SVG 矩形根据宽度、高度、半径和平滑度生成 <path d="...">
纯 CSS 组件可以接受时使用 clip-path: path("..."),否则使用内联 SVG
Canvas/WebGL使用相同的超椭圆采样点作为多边形/路径
与 Figma 效果一致将 60% 作为 Apple/iOS 风格的目标值
普通圆角使用 smoothing: 0

可复制粘贴的代码请参阅 implementation.md。

核心原则

1. 不要用更大的半径来伪造效果

增大 border-radius 会改变半径,而不是圆角过渡效果。Apple 风格的平滑效果会保持半径不变,同时平缓直边与圆角之间的过渡。

2. 优先使用路径

使用 SVG 路径数据、clip-path: path(...)、Canvas Path2D 或框架专用的矢量路径。这可以避免布局技巧、嵌套蒙版、伪元素和异常边缘情况。

3. 限制半径范围

始终将半径限制为 min(width, height) / 2。这样可以防止组件变小或调整响应式布局时路径发生自相交。

4. 将 60% 作为 Apple 风格的目标值

当用户要求 Apple/iOS 风格的圆角但未指定其他数值时,请使用 smoothing: 60。普通圆形 border-radius 使用 0%,只有需要最大程度的风格化效果时才使用 100%。

5. 保持布局不变

平滑路径只应影响绘制/裁剪。为平滑度添加动画时,不要更改元素的宽度、高度、内边距或布局尺寸。

6. 为路径添加动画,而不是为方框添加动画

为平滑度添加动画时,保持 width、height 和 radius 不变,只更新生成的路径。如果还要为标签或数字添加动画,请使用固定尺寸的容器和等宽数字。

实现工作流

  1. 读取指定的宽度、高度、半径和平滑度百分比。
  2. 如果目标可以使用 SVG,则渲染 <path> 并设置其 d 属性。
  3. 如果目标必须使用 HTML/CSS,仅在浏览器支持和缩放效果均可接受时使用 clip-path: path(...);否则将 SVG 放在元素后方或前方。
  4. 除非用户指定其他数值,否则 Apple/iOS 风格使用 smoothing: 60。
  5. 在小尺寸和最大半径下进行验证。

常见错误

错误修正方法
使用 border-radius: 52px 并称之为平滑效果生成平滑路径
半径大于方框的一半限制半径范围
平滑动画期间布局发生变化保持布局不变,只更新路径
使用一次性的路径字符串使用可重复使用的函数,并传入 radius 和 smoothing
默认使用 100%Apple/iOS 风格使用 60%
使用会模糊边缘的 CSS 蒙版优先使用 SVG 路径或清晰的矢量裁剪

检查清单

  • 半径已限制为较短边的一半
  • 除非另有指定,否则 Apple/iOS 风格使用 smoothing: 60
  • 形状基于路径生成,而非仅用 border-radius 近似
  • 更改平滑度时,宽度、高度和布局均不会发生偏移
  • 生成的路径适用于正方形和矩形
  • 如果不支持 clip-path: path(),组件有备用方案或可接受的行为

评论

支持 Markdown