CSS 新特性:border-shape 重新定义未来边框形状
(2026年2月最新进展,Chrome 实验级特性)
大家好!最近(2026年初)CSS 社区最火的新边框相关特性其实是 border-shape,它被视为非矩形 Web 的未来,允许开发者直接为元素的边框本身定义任意几何形状(polygon、circle、shape() 等),而不仅仅是剪裁内容或圆角。
但注意:目前它还处于早期草案阶段(CSS Borders and Box Decorations Module Level 4),Chrome 已开始实验性实现(chromestatus.com/feature/5459864205393920),其他浏览器暂无支持。真正大规模落地可能要到 2027–2028 年。
与此同时,更接近落地的其实是它的“伴侣”属性 corner-shape(Chrome 139+ 已支持),它专门用来改造 border-radius 的圆角几何形状。
下面我把两者一起讲清楚,帮你区分开。
一、corner-shape(已部分可用,Chrome 领先)
作用:修改 border-radius 所创建圆角的几何形状(不是大小,而是曲线类型)。
它和 border-radius 配合使用:
border-radius控制圆角大小corner-shape控制圆角长什么样
支持值(关键字 + superellipse() 函数):
| 值 | 效果描述 | 视觉感受 | 典型场景 |
|---|---|---|---|
| round | 默认,经典圆角 / 椭圆弧 | 平滑、自然 | 几乎所有现代 UI |
| squircle | 介于方和圆之间(苹果图标风格) | 超级圆润但有棱角感 | 卡片、按钮、图标 |
| scoop | 内凹(挖掉一块,像勺子挖过) | 负圆角、洞洞感 | 创意卡片、通知气泡 |
| bevel | 斜切 / 倒角(直线连接) | 八边形感、宝石切割 | 游戏 UI、科技感按钮 |
| notch | 缺口(V 形切掉) | 咬一口的感觉 | 标签、徽章 |
| square | 强制直角(忽略圆角) | 完全方形 | 特殊对比效果 |
| superellipse(n) | 数值控制(n 越大越接近方,n=2≈圆) | 无限自定义 | 动画、品牌专属曲线 |
代码示例(Chrome 139+ 可直接跑):
.card {
width: 300px;
height: 200px;
border: 8px solid #6200ea;
border-radius: 40px; /* 大小 */
corner-shape: squircle; /* 形状 */
background: white;
box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}
/* 更夸张的 scoop + 不同角 */
.fancy {
border-radius: 60px 30px 80px 20px / 50px 70px 40px 90px;
corner-shape: scoop bevel notch squircle;
}
当前支持(2026年2月):
Chrome 139+(部分实现)
Safari / Firefox:暂无
→ 生产环境慎用,建议加 @supports (corner-shape: squircle) 降级
二、border-shape(真正重磅,但还在草案)
作用:直接为边框定义整体形状,边框不再局限于矩形或圆角矩形,而是可以是任意路径。
它重新定义了“盒子边界”,影响:
- 边框绘制
- 背景裁剪
- 鼠标交互区域
- 布局(float、shape-outside 等)
语法思路(草案):
border-shape: circle(50% at 50% 50%);
border-shape: ellipse(60% 40% at 50% 50%);
border-shape: polygon(0% 0%, 100% 0%, 100% 80%, 50% 100%, 0% 80%);
border-shape: inset(10% round 20px);
border-shape: shape(from rect(0 0 100% 100%) move-to(50% 0) ... ); /* 类似 SVG path */
与 clip-path 的区别(关键!)
| 项目 | clip-path | border-shape(未来) |
|---|---|---|
| 作用对象 | 内容 + 背景 + 边框整体剪裁 | 只重定义边框路径(内容仍矩形) |
| 边框绘制 | 边框仍沿原盒子,剪裁后看起来断开 | 边框真正沿着自定义形状绘制 |
| 交互区域 | 剪裁后仍可点击原区域 | 真正改变盒模型边界 |
| 性能 & 复杂度 | 简单 | 更强大,但渲染成本更高 |
| 当前状态 | 全浏览器支持 | 实验中(Chrome 部分) |
一句话:clip-path 是“剪刀”,border-shape 是“重新画边框线”。
三、2026 年现状 & 未来展望
- corner-shape:Chrome 领先,已可玩(Interop 2026 目标之一)
- border-shape:草案活跃,Chrome 实验支持 basic shapes + shape(),预计 2027 年进入稳定阶段
- shape() 函数(配套):WebKit / Chrome 都在推,允许 calc() + 变量写复杂路径,超级灵活
- 实际替代方案(现在就能用):
- clip-path + border-image(伪造非矩形边框)
- SVG border( 内嵌)
- mask-border(实验)
- 伪元素多层叠加
一句话总结:corner-shape 让你轻松做出苹果风 squircle、挖角 scoop、科技 bevel 等高级圆角;border-shape 则是未来真正让 Web 边框“想怎么画就怎么画”的杀手级特性,值得持续关注!
你现在是想在项目里试试 corner-shape 的 squircle 卡片?还是对 border-shape 的 polygon / shape() 更感兴趣?
告诉我你的浏览器版本或具体想做的效果,我可以给你更详细的 CodePen 示例或 fallback 方案~