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

纯CSS实现文字淡出后保持隐藏?当前动画后文字复现

纯CSS实现文字淡出后保持隐藏的方案?

你是不是遇到了这样的问题:用CSS写的淡出动画结束后,文字又重新显示出来了?试过加display: none或者height: 0px都没达到想要的效果,还不想用JavaScript来解决?别担心,纯CSS完全能搞定!

先看看你当前的代码:

.fade-out { 
  animation: fadeOut ease 5s; 
  -webkit-animation: fadeOut ease 5s; 
  -moz-animation: fadeOut ease 5s; 
  -o-animation: fadeOut ease 5s; 
  -ms-animation: fadeOut ease 5s; 
}
@keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
@-moz-keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
@-webkit-keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
@-o-keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
@-ms-keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
<h1 class="fade-out">hello</h1>

问题出在CSS动画的默认行为:动画结束后,元素会回到动画开始前的初始状态,也就是opacity: 1,所以文字又显示出来了。

解决办法:添加animation-fill-mode: forwards

只需要给.fade-out类加上这个属性(记得加上各个浏览器的前缀版本),就能让元素在动画结束后保持最后一帧的状态:

修改后的CSS代码:

.fade-out { 
  animation: fadeOut ease 5s; 
  -webkit-animation: fadeOut ease 5s; 
  -moz-animation: fadeOut ease 5s; 
  -o-animation: fadeOut ease 5s; 
  -ms-animation: fadeOut ease 5s;
  /* 关键属性:让动画结束后保持最后一帧状态 */
  animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  -ms-animation-fill-mode: forwards;
}
@keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
@-moz-keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
@-webkit-keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
@-o-keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}
@-ms-keyframes fadeOut { 
  0% { opacity: 1; } 
  100% { opacity: 0; } 
}

原理说明

animation-fill-mode: forwards的作用就是指定动画结束后,元素要保持动画最后一个关键帧的样式值。这里最后一帧是opacity: 0,所以动画结束后文字会一直保持透明隐藏的状态,不会再恢复显示啦~

这样既不用JavaScript,也能完美实现你想要的效果!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 19:37:35