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

如何用HTML/CSS/TailwindCSS实现平滑边缘的凹口式设计?

解决凹口设计边缘平滑问题

输入图片描述

我需要实现图中的这种凹口设计,使用了如下clip-path方法,但边缘不够平滑,请问该如何实现这个设计?

.nav {
    width: 14rem;
    height: 4rem;
    background-color: white;
    clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
}

解决方案

你用的polygon是纯直线段组成的路径,自然没有圆角过渡,要实现平滑边缘可以用以下两种方法:

方法1:使用clip-path: path()定义曲线路径

通过path()函数绘制带圆角的二次贝塞尔曲线,让凹口边缘呈现平滑弧度:

.nav {
    width: 14rem;
    height: 4rem;
    background-color: white;
    /* 路径逻辑:从左上角到右上角,延伸到圆角控制点后绘制凹口圆角,最后闭合路径 */
    clip-path: path('M0,0 L100%,0 L100%,calc(100% - 0.5rem) Q70%,calc(100% - 0.5rem) 70%,100% L30%,100% Q30%,calc(100% - 0.5rem) 0%,calc(100% - 0.5rem) Z');
}

可以调整代码里的0.5rem来改变圆角大小,适配不同的凹口弧度需求。

方法2:伪元素叠加(兼容性更优)

不用clip-path,通过伪元素模拟凹口,边缘天然平滑,对旧浏览器更友好:

.nav {
    width: 14rem;
    height: 4rem;
    background-color: white;
    position: relative;
    overflow: hidden;
}

.nav::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 30%;
    width: 40%;
    height: 0.5rem; /* 控制凹口的深度 */
    background-color: #页面背景色; /* 必须和nav所在的父容器背景色一致 */
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:05:15