her*_*e 0 2 css html5 marquee css-animations
我有一个可以使用选框解决的要求
.ticker {
white-space: no-wrap;
}
.item {
display: inline-block;
cursor: pointer;
}Run Code Online (Sandbox Code Playgroud)
<marquee class="ticker" onmouseover="this.stop()" onmouseout="this.start()">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>
</marquee>Run Code Online (Sandbox Code Playgroud)
我们如何使这与html5兼容,因为marquee已被弃用?
我看过几个例子,但大多数都依赖于固定宽度.在我的示例中,从服务器接收项目,因此可能有很多项目.此外,我将需要停止悬停,因为项目是其他东西的链接.
非常感谢您的帮助,
PS:我想确保在开始探索javascript之前我们不能在CSS中执行此操作.
小智 5
这个codepen有一个很好的例子,你正在寻找什么.
为了让它在悬停时暂停,我添加了一个悬停状态来暂停动画:https: //codepen.io/anon/pen/zzpZyg
.marquee:hover div {
-webkit-animation-play-state: paused; /* Safari 4.0 - 8.0 */
animation-play-state: paused;
}
Run Code Online (Sandbox Code Playgroud)
body { margin: 20px; }
.marquee {
height: 25px;
width: 420px;
overflow: hidden;
position: relative;
}
.marquee div {
display: block;
width: 200%;
height: 30px;
position: absolute;
overflow: hidden;
animation: marquee 5s linear infinite;
}
.marquee span {
float: left;
width: 50%;
}
@keyframes marquee {
0% { left: 0; }
100% { left: -100%; }
}
.marquee:hover div {
-webkit-animation-play-state: paused; /* Safari 4.0 - 8.0 */
animation-play-state: paused;
}Run Code Online (Sandbox Code Playgroud)
<div class="marquee">
<div>
<span>You spin me right round, baby. Like a record, baby.</span>
<span>You spin me right round, baby. Like a record, baby.</span>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
最后我找到了一个有效的,这是最终的产品https://fiddle.sencha.com/#view/editor&fiddle/228u
这是原始版本,https://codepen.io/lewismcarey/pen/GJZVoG
<div class="wrapper">
<div class="container">
<span>Span Me 1</span>
<span>Span Me 2</span>
<span>Span Me 3</span>
<span>Span Me 4</span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
诀窍是“左垫”包装器以最初隐藏容器。然后,“右击”容器,以便动画仅在容器离开屏幕后停止/重新启动。两个填充的大小都是相对的。display: block;添加到容器中,以便正确的填充使用包装器的大小。最后,我们在包装器的变换属性上添加动画。
谢谢你们,
| 归档时间: |
|
| 查看次数: |
2346 次 |
| 最近记录: |