【发布时间】:2016-11-24 14:44:11
【问题描述】:
我创建了一个“重要通知”栏,我希望文本在屏幕上滚动。
这是通过为text-indent 设置动画来实现的,这似乎工作得很好,直到我的文本长于屏幕宽度。
这是 HTML:
<div class="sitemessage">
dfgh hgsl;k sfghjh fgdlj dflgh sg jls sdfhsdkjldfjksg sdfg ksjdfhg klsjdfhg lksjdfhg klsjdhg lksjdhfg sldkfjgh sdflgkjsdfglk jsdfg klsdfgl jksdfgl jksdfg ljsdfgkjl dafglkj adfgkl sdfgkjh sdfgkhl sdfg kjlsdfgk lsdfgk jl sdfgkl adfgkl adfgklj sdfgklhj sdfgkl jdfg kljafdg ljkdfg klsdfgkhjl sdfgk jlsdfgkhj dfgkhl adfgkj adfkljg a
</div>
这是我的 CSS:
.sitemessage {
width:100%;
max-width: 960px;
margin:auto;
white-space: nowrap;
overflow: hidden;
text-indent: 965px;
animation: floatText 15s infinite linear;
}
.sitemessage:hover {
-webkit-animation-play-state: paused;
-moz-animation-play-state: paused;
-o-animation-play-state: paused;
animation-play-state: paused;
}
@-webkit-keyframes floatText{
from {
text-indent: 100%;
}
to {
text-indent: -100%;
}
}
@media screen and (min-width: 960px) {
@-webkit-keyframes floatText{
from {
text-indent: 960px;
}
to {
text-indent: -100%;
}
}
}
我遇到的问题是 .sitemessage 容器中的文本长度可能比屏幕宽度的 100% 多很多或少很多,所以使用 -100% 的 text-indent 不会真的工作。
我可以在不借助 Javascript 或添加到 HTML 的情况下完成的任何想法。
【问题讨论】:
-
行为的快速处理:jsfiddle.net/r2u8Ldkt
-
重新创建
<marquee>。 2016年,不错! developer.mozilla.org/en-US/docs/Web/HTML/Element/marquee
标签: html css css-animations text-indent