我需要让某个元素(位置:固定)从屏幕右侧滑动,在那里停留一段时间再向右隐藏。我不知道宽度,这使得它更难实现。我以前用jQuery做过,但我想使用纯CSS。那可能吗?我不介意使用第三方解决方案。
这是我的jQuery代码:
$("element")
.css("right", -$("element").outerWidth() + "px")
.animate({right: 0}, 800)
.delay(3000)
.animate({right: -$("element").outerWidth() + "px"}, 800);
答案 0 :(得分:7)
如果@keyframes
未知,您可以定义transform
并使用width
属性的百分比值。
div {
width: 100px;
height: 100px;
background: plum;
transform: translateX(100%);
position: fixed;
-webkit-animation: anim 3.5s 1;
animation: anim 3.5s 1;
}
@-webkit-keyframes anim {
0% {
transform: translateX(100%);
}
14.28% {
transform: translateX(0);
}
85.71% {
transform: translateX(0);
}
100% {
transform: translateX(100%);
}
}
@keyframes anim {
0% {
transform: translateX(100%);
}
14.28% {
transform: translateX(0);
}
85.71% {
transform: translateX(0);
}
100% {
transform: translateX(100%);
}
}
<div></div>