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

如何实现从中心起始的打字动画,结束后文本居中于灰色气泡?

实现从中心起始的打字动画并居中显示

要实现从中心开始的打字动画,同时让最终文本居中在灰色气泡内,需要调整布局和clip-path动画逻辑,具体修改如下:

修改后的完整代码

CSS

.text-typing {
  background: #f5f5f5;
  border-radius: 2rem;
  width: 25%;
  margin: auto;
  /* 添加flex布局,确保内部文本居中 */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 2rem; /* 增加内边距,避免文本紧贴气泡边缘 */
}

.text-typing h2 {
  margin: 0;
  white-space: nowrap;
  /* 设为inline-block,让宽度适配文本,方便居中及从中心展开 */
  display: inline-block;
  text-align: center;
  /* 初始clip-path:仅显示中间一条竖线,实现从中心起始 */
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
  /* steps值改为文本长度的一半,因为从中间向两边各展开11步(对应22个字符) */
  animation: typing 4s steps(11, end) forwards, blink 1s infinite;
}

@keyframes typing {
  0% {
    clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

@keyframes blink {
  0%,
  100% {
    border-right: 2px solid transparent;
  }
  50% {
    border-right: 2px solid #222;
  }
}

HTML

<div class="text-typing">
  <h2>Experience</h2>
</div>

关键修改说明

  • 容器布局优化:给.text-typing添加display: flex及居中属性,确保文本最终在气泡内居中显示,同时增加内边距提升视觉效果。
  • 文本元素调整:将h2设为inline-block,使其宽度适配自身文本内容,为从中心展开的动画提供基础。
  • clip-path动画重构:初始状态仅显示中间一条竖线,动画过程中逐步向左右扩展clip-path的范围,实现从中心向外展开的打字效果。
  • steps参数调整:因为是从中心向两边同时展开,steps数值改为原文本字符数的一半(22个字符对应11步),保证逐字揭示的节奏正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 08:50:54