使用CSS3跨屏幕移动图像
我已经浏览了很长一段时间,试图找到一种方法,当你加载页面时,让图标移动到屏幕上(从Body div的左侧到中心)。如何做到这一点?
这是我到目前为止所拥有的:
CSS3
a#rotator {
text-decoration: none;
padding-right: 20px;
margin-left: 20px;
float: left;
}
a#rotator img {
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
border-radius:60px;
transition-duration: 1s;
}
a#rotator img:hover {
box-shadow: 0 3px 15px #000;
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: translate()
}
css
如果您想要纯推荐答案解决方案,可以使用css3动画功能。
您可以使用关键字@animation
后跟要为该动画指定的名称来创建或声明动画。在花括号内,您必须指示动画的关键帧以及将在该关键帧中应用的CSS属性,这样才能完成关键帧之间的过渡。
您必须使用关键字from
和to
指定至少两个关键帧,即动画的开始和结束,后跟花括号内的属性。例如:
@keyframes myanimation
{
from {
left: 0;
}
to {
left: 50%;
}
}
或有三个关键帧的示例(百分比表示持续时间的百分比):
@keyframes myanimation
{
0% {
left: 0;
}
10% {
left: 50%;
}
100% {
left: 10%;
}
}
一旦创建了动画,就必须指定要为哪个元素设置动画,匹配该元素的只是css规则中的animation
属性。请注意,值中的名称必须与您之前创建的名称相匹配,并与动画的持续时间相匹配。例如:
a#rotator {
animation: myanimation 5s;
}
您可以在此处指定持续时间、必须重复的次数等。您可以在此处阅读完整的规范:http://www.w3.org/TR/css3-animations/
在这里您可以看到一个使用您提供的代码的工作示例:http://jsfiddle.net/mcSL7/1/
我已停止浮动元素,并为其分配了绝对位置,因此可以使用top和Left属性在正文中移动它。
几乎所有现代浏览器都支持此css功能,即使其中一些浏览器需要-webkit-vendor前缀。选中此处:http://caniuse.com/#feat=css-animation相关文章