使用CSS3跨屏幕移动图像

2022-04-10 00:00:00 image animation css transition

我已经浏览了很长一段时间,试图找到一种方法,当你加载页面时,让图标移动到屏幕上(从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属性,这样才能完成关键帧之间的过渡。 您必须使用关键字fromto指定至少两个关键帧,即动画的开始和结束,后跟花括号内的属性。例如:

@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

相关文章