对于如何使用CSS动画在文本块上方的2秒内使文本滑动感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍css文字动画,并为您提供关于)预期css(css-rparentexpected)"用于@m
对于如何使用 CSS 动画在文本块上方的 2 秒内使文本滑动感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍css 文字动画,并为您提供关于) 预期 css(css-rparentexpected)" 用于@media 查询中的第 4 级 css 语法、、 不起作用、Angular: 添加的 document.execCommand 只看到 style.css 中的 css 规则而不是组件的 css
的有用信息。
- 如何使用 CSS 动画在文本块上方的 2 秒内使文本滑动(css 文字动画)
- ) 预期 css(css-rparentexpected)" 用于@media 查询中的第 4 级 css 语法
- ">
- 不起作用"> 不起作用
- Angular:
- 添加的 document.execCommand 只看到 style.css 中的 css 规则而不是组件的 css
如何使用 CSS 动画在文本块上方的 2 秒内使文本滑动(css 文字动画)
如何解决如何使用 CSS 动画在文本块上方的 2 秒内使文本滑动
我正在尝试使用 HTML 和 CSS 动画让一些文本从左侧滑动到网页的中心。目标是让第一个文本块首先滑入中心,然后在 2 秒延迟后,让第二个文本块滑入中心。这样就可以有很好的效果,让读者看到页面上写的行。
这是HTML代码:
/* .slide1 {
-webkit-animation : slideIn 2s forwards;
-moz-animation : slideIn 2s forwards;
animation : slideIn 2s forwards;
} */
.slide2 {
/* animation-delay: 2s; */
margin-top : -20px;
-webkit-animation : slideIn 2s forwards;
-moz-animation : slideIn 2s forwards;
animation : slideIn 2s forwards;
}
@-webkit-keyframes slideIn {
0% { transform: translateX(-900px); }
100% { transform: translateX(0); }
}
@-moz-keyframes slideIn {
0% { transform: translateX(-900px); }
100% { transform: translateX(0); }
}
@keyframes slideIn {
0% { transform: translateX(-900px); }
100% { transform: translateX(0); }
}
<h1 class="slide1">You want to go to the moon.<br></h1>
<h1 class="slide2">We’re here to give you a shot.</h1>
所以问题是,当您取消注释上面的类 slide1 时,动画适用于第二行,但不适用于第一行。
整个事情一起移动,这不是应该发生的事情。在 Slide2 中延迟动画的意义在于,在第一个文本块移动到中心后,第二个文本块将开始向右移动。
令人困惑的是为什么这不起作用 -
- 如果您对此有任何解决方案,请分享它们!
解决方法
您必须首先将 .slide1
和 .slide2
置于屏幕外
transform : translateX(-100vw);
...与您想象的相反,css 命令也必须遵守顺序,并且您的 delay
命令必须放在 translate
⛐ ? 非常非常糟糕 :
animation-delay : 2s;
animation : 2s slideIn forwards;
(它使 animation-delay : 0;
)
? ? 好 :
animation : 2s slideIn forwards;
animation-delay : 2s;
。 否则你必须尊重参数的正确顺序
animation : 2s 2s slideIn forwards;
但在我看来最好的写法是 - 不重复 css:
.slide {
text-align : center;
transform : translateX(-100vw);
animation : 2s slideIn forwards;
}
.second {
margin-top : -.8em;
animation-delay : 2s;
}
@keyframes slideIn {
0% { transform : translateX(-100vw); }
100% { transform : translateX(0); }
}
<h1 class="slide">You want to go to the moon.</h1>
<h1 class="slide second">We’re here to give you a shot.</h1>
还要注意单位的使用,以及无论显示的宽度如何(如您在问题中所指出的)将文本居中的正确方法