是否可以在CSS文本动画上设置反弹高度?

问题描述 投票:3回答:1

我对css很新,并为朋友网站做一些动画。虽然我似乎遇到了一个问题。

以下动画是对文本字段的弹跳效果:

.text {
    animation: text-pop-up-top 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite alternate both;
}

@keyframes text-pop-up-top {
  0% {
    transform: translateY(0);
    transform-origin: 50% 50%;
    text-shadow: none;
  }
  100% {
    transform: translateY(-50px);
    transform-origin: 50% 50%;
    text-shadow: 0 1px 0 #cccccc, 0 2px 0 #cccccc, 0 3px 0 #cccccc, 0 4px 0 #cccccc, 0 5px 0 #cccccc, 0 6px 0 #cccccc, 0 7px 0 #cccccc, 0 8px 0 #cccccc, 0 9px 0 #cccccc, 0 50px 30px rgba(0, 0, 0, 0.3);
  }
}

但是文本反弹得太高而且与其他文本重叠。是否可以设置高度,使其仅上升到设定高度的一半?如果这是一个我无法弄清楚的简单解决方案,我深表歉意。我非常感谢你的帮助。

html css animation
1个回答
3
投票

您要调整的行是这一行:

transform: translateY(-50px);

尝试将其调整为:

transform: translateY(-25px);

更新

您可能还想调整text-shadow的最后一部分,以减少阴影的垂直距离,以保持与降低的translateY值一致。

改变这个:

text-shadow: … 0 50px 30px rgba(0, 0, 0, 0.3);
              /* ^^ */

对此:

text-shadow: … 0 25px 30px rgba(0, 0, 0, 0.3);
              /* ^^ */

jsFiddle

© www.soinside.com 2019 - 2024. All rights reserved.