美文网首页
css3 动画(@keyframes)

css3 动画(@keyframes)

作者: 小本YuDL | 来源:发表于2018-04-17 20:52 被阅读59次

1.@keyframes

1.要创建CSS3动画,你将不得不了解@keyframes规则。
@keyframes规则是创建动画。 @keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式。

使用规则:

  • 当在 @keyframes 创建动画,把它绑定到一个选择器,否则动画不会有任何效果。
  • 指定至少这两个CSS3的动画属性绑定向一个选择:
  • 规定动画的名称
  • 规定动画的时长

形式如下:
需要规定动画 animation :动画名称 时长;
@keyframes myfirst{
form{background:red;}
to {background:blue;}
}

<style>/*放在选择器中*/
div{
    width:100px;
    height:100px;
    background:red;
    animation:myfirst 5s;/*历时5秒达到所有的变换效果*/
@keyframes myfirst{
    from {background:red;}/*变换效果从背景红色,变浅直到逐渐变成黄色*/
    to {background:yellow;}
}
</style>

注意: 您必须定义动画的名称和动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0。
例如:animation:myfirst 5s; 动画名字是myfirst ,持续时间是5秒。

2.或用关键词 "from" 和 "to",等同于 0% 和 100%,为了得到浏览器支持,需要 规定0%和100%。好处 ,不需要另规定时长。

形式如下:
@keyframes myfirst{
0% background:red;/
开始是红色
/
50% background:blue;/时间到百分之50,变为蓝色/
100% background:green;/最终变成绿色/
}**
**综合属性动画:

<style> 
div
{
    width:100px;
    height:100px;
    background:red;
    position:relative;/*位置是相对的*/
    animation-name:myfirst;/*动画名称*/
    animation-duration:5s;/*动画持续时间*/
    animation-timing-function:linear;/*规定动画的速度曲线*/
    animation-delay:2s;/*动画延迟2s开始*/
    animation-iteration-count:infinite;/*动画播放次数:无限次,默认是1次*/
    animation-direction:alternate;/*规定动画是否在下一周期逆向地播放。默认是 "normal"。alternate:交替的*/
    animation-play-state:running;/*规定动画是否正在运行或暂停。默认是 "running"。*/
}
​
@keyframes myfirst
{
    0%   {background:red; left:0px; top:0px;}/*开始时,左上角*/
    25%  {background:yellow; left:200px; top:0px;}/*向右远离left 200px,沿着顶部,若增大 直接向右下角运动*/
    50%  {background:blue; left:200px; top:200px;}/*向右远离left 200px ,向下运动*/
    75%  {background:green; left:0px; top:200px;}/*向左做运动,靠近 left*/
    100% {background:red; left:0px; top:0px;}/*向上做运动,靠近顶端*/
}
</style>
</head>
<body>
<div></div>
​</body>

上例中 最后效果,一个方块沿着上下左右,来回运动。
先顺时针一周后,逆时针一周,循环运动。
简化:

<style> 
div{
    width:100px;
    height:100px;
    background:red;
    position:relative;/*位置相对的*/
    animation:myfirst 5s linear 2s infinite alternate;/*动画设置:名称:myfirst,
动画时间:5s  ,曲线运动,无限循环,交替播放动画*/
}
@keyframes myfirst
{
    0%   {background:red; left:0px; top:0px;}
    25%  {background:yellow; left:200px; top:0px;}
    50%  {background:blue; left:200px; top:200px;}
    75%  {background:green; left:0px; top:200px;}
    100% {background:red; left:0px; top:0px;}
}
</style>
</head>
<body>
<div></div>
</body>

相关文章

  • 07day

    CSS3动画 CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes ...

  • 2018-08-15

    CSS动画 CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes 规...

  • css3动画

    CSS3 @keyframes 规则 1、@keyframes规则是创建动画。 2、@keyframes规则内指定...

  • css动画

    如需在 CSS3 中创建动画,您需要学习 @keyframes 规则。 @keyframes 规则用于创建动画。在...

  • 动画(重点)

    CSS3 @keyframes 规则要创建CSS3动画,你将不得不了解@keyframes规则。@keyframe...

  • css3 动画(@keyframes)

    1.@keyframes 1.要创建CSS3动画,你将不得不了解@keyframes规则。@keyframes规则...

  • CSS3动画(animation @keyframes)

    CSS3 @keyframes 规则:在使用@keyframes创建动画时,如果不绑定到选择器,则不会出现动画效果...

  • CSS动画

    CSS3动画效果 @keyframes fade-in-up { from { opacity...

  • CSS3 animation动画

    CSS3 animation动画 1、@keyframes 定义关键帧动画2、animation-name 动画名...

  • 前端知识CSS3 animation动画

    CSS3 animation动画 1、@keyframes 定义关键帧动画2、animation-name 动画名...

网友评论

      本文标题:css3 动画(@keyframes)

      本文链接:https://www.haomeiwen.com/subject/yzipkftx.html