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

如何用CSS实现带换行的文本环绕边框?是否需用图片?

用CSS实现带换行的文本环绕边框,完全不用图片!

嘿,当然可以用纯CSS实现这种效果,根本不需要依赖图片——而且用CSS做的话,后续调整形状、颜色或者响应式适配都方便太多了!

核心就是利用CSS的shape-outside属性,它能让浏览器知道文本应该如何环绕指定元素的轮廓。我给你举个实际的例子,模拟带“换行”缺口的边框效果:

第一步:HTML结构

<div class="text-wrap-container">
  <div class="custom-shape"></div>
  <p>这是需要环绕排列的文本内容,你可以随便输入多长的段落,它都会自动沿着左边那个带换行缺口的边框来排列。哪怕你后续要调整缺口的位置或者大小,只需要改CSS里的参数就行,完全不用重新切图!</p>
</div>

第二步:CSS实现

.text-wrap-container {
  max-width: 650px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.custom-shape {
  /* 先让元素浮动,这样文本才能绕着它排 */
  float: left;
  width: 160px;
  height: 220px;
  /* 用polygon定义带换行缺口的形状,坐标可以按需调整 */
  shape-outside: polygon(
    0 0, 
    100% 0, 
    100% 60px, 
    75% 60px, 
    75% 120px, 
    100% 120px, 
    100% 100%, 
    0 100%
  );
  /* 用clip-path让元素的可视形状和环绕形状一致,再加上边框 */
  clip-path: polygon(
    0 0, 
    100% 0, 
    100% 60px, 
    75% 60px, 
    75% 120px, 
    100% 120px, 
    100% 100%, 
    0 100%
  );
  background-color: #f0f0f0;
  border: 2px solid #333;
}

关键知识点解释:

  • shape-outside:这是实现文本环绕的核心,它定义了文本需要避开的区域,你可以用polygon()(多边形)、circle()(圆形)、ellipse()(椭圆)来创建各种形状,完全能满足“带换行缺口”的需求。
  • clip-path:用来让元素本身的可视区域和shape-outside定义的形状一致,这样你就能看到带缺口的边框了。
  • 浮动:必须让形状元素浮动,文本才会自动环绕它排列。

如果你的缺口形状更复杂,只需要调整polygon()里的坐标点就行——每个坐标代表形状的一个顶点,按顺序连接起来就是你要的轮廓。现代浏览器(Chrome、Firefox、Safari 14+)都支持这些属性,兼容性完全没问题。

总之,纯CSS就能完美实现这种效果,比用图片灵活多了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:07:43