CSS 动画 - 文本从左向右滑动

ale*_*omy 3 css css-animations

我试图让一些文本延迟从左向右滑动。它将出现在页面中间而不是画布外。当文本从页面滑入时,我可以轻松地让它工作。

从屏幕中间做有点不同,我错过了一些东西。文本出现在页面加载时(应该隐藏时)。我可以使用 jQuery 轻松完成此操作,但我确信仅使用 css 是不可能的。这是我到目前为止所得到的

HTML:

<div class="slide-right">
  <h2>Text that will slide in from the left</h2>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.slide-right {
   width: 100%;
   overflow: hidden;
   margin-left: 400px;
   max-width: 500px
}

.slide-right h2 {
   animation: 2s slide-right;
   animation-delay: 2s;
}

@keyframes slide-right {
    from {
       margin-left: -500px;
    }

    to {
       margin-left: 0%;
    }
 }
Run Code Online (Sandbox Code Playgroud)

<div class="slide-right">
  <h2>Text that will slide in from the left</h2>
</div>
Run Code Online (Sandbox Code Playgroud)
.slide-right {
   width: 100%;
   overflow: hidden;
   margin-left: 400px;
   max-width: 500px
}

.slide-right h2 {
   animation: 2s slide-right;
   animation-delay: 2s;
}

@keyframes slide-right {
    from {
       margin-left: -500px;
    }

    to {
       margin-left: 0%;
    }
 }
Run Code Online (Sandbox Code Playgroud)

像这样

谢谢

Tem*_*fif 9

您可以最初隐藏文本并依靠forwards保持最后状态

.slide-right {
  width: 100%;
  overflow: hidden;
  margin-left: 300px;
  max-width: 500px
}

.slide-right h2 {
  animation: 2s slide-right 2s forwards;
    transform:translateX(-100%);
}

@keyframes slide-right {
  to {
    transform:translateX(0);
  }
}
Run Code Online (Sandbox Code Playgroud)
<div class="slide-right">
  <h2>Text that will slide in from the left</h2>
</div>
Run Code Online (Sandbox Code Playgroud)