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

如何用CSS绘制曲线边框?基于.curve::after伪元素实现

仅用CSS实现曲线边框(通过伪元素)

当然可行,你可以利用CSS伪元素的定位、border-radius属性来模拟所需的曲线边框效果,以下是适配你提供的HTML结构的实现方案:

基础HTML结构(保持你的代码)

<ul>
  <li class="curve"></li>
</ul>

CSS实现代码(以右下角内凹曲线为例)

/* 重置ul默认样式 */
ul {
  margin: 30px;
  padding: 0;
}

/* 父元素li的基础样式 */
.curve {
  position: relative;
  width: 220px;
  height: 140px;
  border: 2px solid #333;
  /* 先移除右下角的圆角,留给伪元素处理曲线 */
  border-bottom-right-radius: 0;
  background-color: #fff;
  overflow: hidden; /* 避免伪元素超出容器范围 */
}

/* 伪元素实现曲线边框 */
.curve::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  /* 用圆形的左上部分模拟内凹曲线 */
  width: 60px; /* 控制曲线的弧度大小 */
  height: 60px;
  border-left: 2px solid #333;
  border-top: 2px solid #333;
  border-top-left-radius: 100%;
  background-color: #fff; /* 用背景色覆盖原边框的角落,实现内凹效果 */
  /* 调整位置让曲线和原边框完美衔接 */
  transform: translate(50%, 50%);
}

效果调整说明

  • 如果需要外凸曲线,只需修改伪元素的样式:
    .curve {
      overflow: visible; /* 允许伪元素超出容器 */
    }
    .curve::after {
      bottom: -2px;
      right: -2px;
      border-right: 2px solid #333;
      border-bottom: 2px solid #333;
      border-top-left-radius: 100%;
      transform: none;
    }
    
  • 调整伪元素的width/height可以改变曲线的弧度大小;修改border-radius的值可以实现不同的曲线形态(比如椭圆弧)。

这种方案兼容性好,无需额外HTML元素,完全通过伪元素实现需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 03:45:09