- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个使用 html 和 css 的滚动文本横幅,它适用于 Firefox 和 Chrome,但在 IE 11 中出错,当它到达第 3 个元素动画的末尾时,文本重新出现在中心并以错误的方式滚动.
文本应该从右到右依次出现一个元素,滚动到中间,稍等片刻,然后向左滚动,然后下一个元素应该出现。在最后一项之后,动画应该重复。
@-webkit-keyframes left-one {
0% {
-webkit-transform: translateX(100%);
}
5%,28% {
-webkit-transform: translateX(0);
}
33%,100% {
-webkit-transform: translateX(-100%);
}
}
@-webkit-keyframes left-two {
0%,33% {
-webkit-transform: translateX(100%);
}
38%,61% {
-webkit-transform: translateX(0);
}
66%,100% {
-webkit-transform: translateX(-100%);
}
}
@-webkit-keyframes left-three {
0%,66% {
-webkit-transform: translateX(100%);
}
71%,95% {
-webkit-transform: translateX(0);
}
100% {
-webkit-transform: translateX(-100%);
}
}
/** Webkit Keyframes **/
@keyframes left-one {
0% {
transform: translateX(100%);
}
5%,28% {
transform: translateX(0);
}
33%,100% {
transform: translateX(-100%);
}
}
@keyframes left-two {
0%,33% {
transform: translateX(100%);
}
38%,61% {
transform: translateX(0);
}
66%,100% {
transform: translateX(-100%);
}
}
@keyframes left-three {
0%,66% {
transform: translateX(100%);
}
71%,95% {
transform: translateX(0);
}
100% {
transform: translateX(-100%);
}
}
.marquee {
width: 100%;
height: 30px;
margin: 0 auto;
margin-top: 1px;
margin-bottom: 2px;
overflow: hidden;
position: relative;
background-color: #222;
-webkit-border-radius: 5px;
border-radius: 5px;
-webkit-transition: background-color 350ms;
-moz-transition: background-color 350ms;
-o-transition: background-color 350ms;
-ms-transition: background-color 350ms;
transition: background-color 350ms;
background: -webkit-linear-gradient(left, rgba(32, 32, 32, 0), rgba(32, 32, 320, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 0));
/*Safari 5.1-6*/
background: -o-linear-gradient(right, rgba(32, 32, 32, 0), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 0));
/*Opera 11.1-12*/
background: -moz-linear-gradient(right, rgba(32, 32, 32, 0), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 0));
/*Fx 3.6-15*/
background: -ms-linear-gradient(right, rgba(32, 32, 32, 0), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 0));
/*IE*/
background: linear-gradient(to right, rgba(32, 32, 32, 0), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 1), rgba(32, 32, 32, 0));
/*Standard*/
}
.marquee p {
position: absolute;
width: 100%;
height: 100%;
margin: 0;
line-height: 28px;
text-align: center;
color: #FCCC0C;
filter: dropshadow(color=#000000, offx=1, offy=1);
text-shadow: 0px 0px 1px #FCCC0C;
transform: translateX(100%);
-webkit-transform: translateX(100%);
}
.marquee p:nth-child(1) {
animation: left-one 15s ease infinite;
-webkit-animation: left-one 15s ease infinite;
}
.marquee p:nth-child(2) {
animation: left-two 15s ease infinite;
-webkit-animation: left-two 15s ease infinite;
}
.marquee p:nth-child(3) {
animation: left-three 15s ease infinite;
-webkit-animation: left-three 15s ease infinite;
}
<div class="marquee">
<p><a>1. Text to scroll item.</a>
</p>
<p><a>2 Second scroll text,</a>
</p>
<p><a>3 Final text item for scrolling,</a>
</p>
</div>
最佳答案
我认为问题与您的 0% 关键帧和 IE 在开始动画的位置做了一些有趣的事情有关。我的意思是,当您查看 codepen 时,看起来文本在第二个关键帧而不是 0% 处向右漂移。
无论如何,这里有一些代码可以解决这个问题。
解决方案 1:将 0%
更改为 0.001%
即可解决问题。
解决方案 2:也许更好的方法是只编写一个动画并在每一位文本上添加延迟。 Here is a codepen for it
@-webkit-keyframes left-one {
0% {
-webkit-transform: translateX(100%);
}
20%,33% {
-webkit-transform: translateX(0);
}
50%,100% {
-webkit-transform: translateX(-100%);
}
}
/** Webkit Keyframes **/
@keyframes left-one {
0% {
transform: translateX(100%);
}
20%,33% {
transform: translateX(0);
}
50%,100% {
transform: translateX(-100%);
}
}
.marquee p:nth-child(1) {
animation: left-one 15s ease infinite;
-webkit-animation: left-one 15s ease infinite;
}
.marquee p:nth-child(2) {
animation: left-one 15s ease 5s infinite; // delay of 5s
-webkit-animation: left-one 15s ease 5s infinite;
}
.marquee p:nth-child(3) {
animation: left-one 15s ease 10s infinite; // delay of 10s
-webkit-animation: left-one 15s ease 10s infinite;
}
关于html - IE 上的 CSS 动画不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29264512/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!