前端笔记

包括模块、常见问题、css效果、js效果等。仅用于方便查找,提高工作效率。

用CSS的@keyframes做简单的css动画,比gif图片好用

# 一夜没睡,6点多起来做工,用CSS的@keyframes,终于做出了css动画,其实就是一个圆点一直在动~ 之前一直想做的,想不起来要怎么做,觉得好难的感觉,没想到一百度就出来了,特别简单。耶!特别高兴。有任务没完成总是心里不舒服不顺畅,完成了好轻松。
《用CSS的@keyframes做简单的css动画,比gif图片好用》 《用CSS的@keyframes做简单的css动画,比gif图片好用》
事实上上,我已经不记得gif动图要怎么做了…… 效果就如上图,白色的圆点在闪闪闪闪的效果。
附上代码:
.whitedot .circle{ width:100%; height:100%; position:absolute; top:0; left:0; border-radius:50%; background:rgba(255,255,255,0.5);
 animation:myfirst 2s infinite;
-moz-animation:myfirst 2s infinite; /* Firefox */
-webkit-animation:myfirst 2s infinite; /* Safari and Chrome */
-o-animation:myfirst 2s infinite; /* Opera */
}
.whitedot .circle span{ position:absolute; display:block; top:15%; left:15%; width:70%; height:70%; border-radius:50%; background:rgba(255,255,255,0.7);
 animation:mysecond 2s infinite;
-moz-animation:mysecond 2s infinite; /* Firefox */
-webkit-animation:mysecond 2s infinite; /* Safari and Chrome */
-o-animation:mysecond 2s infinite; /* Opera */
}
.whitedot .circle span em{ position:absolute; display:block; top:20%; left:20%; width:60%; height:60%; border-radius:50%; background:rgba(255,255,255,1);
 animation:mythird 2s infinite;
-moz-animation:mythird 2s infinite; /* Firefox */
-webkit-animation:mythird 2s infinite; /* Safari and Chrome */
-o-animation:mythird 2s infinite; /* Opera */
}

@keyframes myfirst
{
0 { background:rgba(255,255,255,0.5)}
40% { background:rgba(255,255,255,0.3)}
70% { background:rgba(255,255,255,0)}
100% { background:rgba(255,255,255,0.3)}
}
@keyframes mysecond
{
0 { background:rgba(255,255,255,0.7)}
40% { background:rgba(255,255,255,0.5)}
70% { background:rgba(255,255,255,0.3)}
100% { background:rgba(255,255,255,0.5)}
}

@keyframes mythird
{
0 { background:rgba(255,255,255,1)}
40% { background:rgba(255,255,255,0.8)}
70% { background:rgba(255,255,255,0.6)}
100% { background:rgba(255,255,255,0.8)}
}

定义和用法

通过 @keyframes 规则,您能够创建动画。

创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。

在动画过程中,您能够多次改变这套 CSS 样式。

以百分比来规定改变发生的时间,或者通过关键词 “from” 和 “to”,等价于 0% 和 100%。

0% 是动画的开始时间,100% 动画的结束时间。

为了获得最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。

注释:请使用动画属性来控制动画的外观,同时将动画与选择器绑定。

实例

使 div 元素匀速向下移动:

@keyframes mymove
{
from {top:0px;}
to {top:200px;}
}

@-moz-keyframes mymove /* Firefox */
{
from {top:0px;}
to {top:200px;}
}

@-webkit-keyframes mymove /* Safari 和 Chrome */
{
from {top:0px;}
to {top:200px;}
}

@-o-keyframes mymove /* Opera */
{
from {top:0px;}
to {top:200px;}
}

在一个动画中改变多个 CSS 样式:

@keyframes mymove
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}

@-moz-keyframes mymove /* Firefox */
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}

@-webkit-keyframes mymove /* Safari 和 Chrome */
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}

@-o-keyframes mymove /* Opera */
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}

 



打赏作者: 一分也是爱


您的支持就是我最大的动力
点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注