没有看懂啊

没有看懂啊

设置属性就是保持状态,如图保持在315度。

可是有个元素开始时的状态是不是没有用,不设置不也是开始时状态none

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学,你好。你测试一下这两端代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>animation-fill-mode</title>
<style type="text/css">
body { background: #abcdef; }
div { position: relative; width: 760px; height: 760px; margin: auto;
    -webkit-transform-style: preserve-3d;
       -moz-transform-style: preserve-3d;
        -ms-transform-style: preserve-3d;
         -o-transform-style: preserve-3d;
            transform-style: preserve-3d;
}
div > div { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; margin: auto; background-repeat: no-repeat; background-position: center; }
div > .inner { background-image: url(images/circle_inner.png);
    -webkit-animation-name: circle_inner;
            animation-name: circle_inner;
    -webkit-animation-duration: 10s;
            animation-duration: 10s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-delay: 2s;
            animation-delay: 2s;
/*    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;*/
}
div > .middle { background-image: url(images/circle_middle.png);
    -webkit-animation-name: circle_middle;
            animation-name: circle_middle;
    -webkit-animation-duration: 10s;
            animation-duration: 10s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-delay: 2s;
            animation-delay: 2s;
/*    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;*/
}
div > .outer { background-image: url(images/circle_outer.png);
    -webkit-animation-name: circle_outer;
            animation-name: circle_outer;
    -webkit-animation-duration: 10s;
            animation-duration: 10s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-delay: 2s;
            animation-delay: 2s;
/*    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;*/
}
div > .imooc { background-image: url(images/imooc.png); }
@keyframes circle_inner {
    from { transform: rotateX(90deg);   }
    to   { transform: rotateX(315deg); }
}
@keyframes circle_middle {
    from { transform: rotateY(60deg);   }
    to   { transform: rotateY(315deg); }
}
@keyframes circle_outer {
    from { transform: rotateZ(45deg);   }
    to   { transform: rotateZ(315deg); }
}
</style>
</head>
<body>
<div>
    <div class="inner"></div>
    <div class="middle"></div>
    <div class="outer"></div>
    <div class="imooc"></div>
</div>
</body>
</html>


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>animation-fill-mode</title>
<style type="text/css">
body { background: #abcdef; }
div { position: relative; width: 760px; height: 760px; margin: auto;
    -webkit-transform-style: preserve-3d;
       -moz-transform-style: preserve-3d;
        -ms-transform-style: preserve-3d;
         -o-transform-style: preserve-3d;
            transform-style: preserve-3d;
}
div > div { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; margin: auto; background-repeat: no-repeat; background-position: center; }
div > .inner { background-image: url(images/circle_inner.png);
    -webkit-animation-name: circle_inner;
            animation-name: circle_inner;
    -webkit-animation-duration: 10s;
            animation-duration: 10s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-delay: 2s;
            animation-delay: 2s;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
}
div > .middle { background-image: url(images/circle_middle.png);
    -webkit-animation-name: circle_middle;
            animation-name: circle_middle;
    -webkit-animation-duration: 10s;
            animation-duration: 10s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-delay: 2s;
            animation-delay: 2s;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
}
div > .outer { background-image: url(images/circle_outer.png);
    -webkit-animation-name: circle_outer;
            animation-name: circle_outer;
    -webkit-animation-duration: 10s;
            animation-duration: 10s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-delay: 2s;
            animation-delay: 2s;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
}
div > .imooc { background-image: url(images/imooc.png); }
@keyframes circle_inner {
    from { transform: rotateX(90deg);   }
    to   { transform: rotateX(315deg); }
}
@keyframes circle_middle {
    from { transform: rotateY(60deg);   }
    to   { transform: rotateY(315deg); }
}
@keyframes circle_outer {
    from { transform: rotateZ(45deg);   }
    to   { transform: rotateZ(315deg); }
}
</style>
</head>
<body>
<div>
    <div class="inner"></div>
    <div class="middle"></div>
    <div class="outer"></div>
    <div class="imooc"></div>
</div>
</body>
</html>

你看一下这两个代码是有差距的,一开始都是0的话,是看不出差距的,但是修改了初始值不是0的话就看出来了。

如果帮助到了你,欢迎采纳!

祝学习愉快!

Victor19950925 2019-05-10 15:20:58

比如之前的我们做的一个编程训练 2-13   

拿这个例子来说,如果没有设置animation-fill-mode的话,一次循环结束后,你会发现弹框又不见了,回到了一开始的位置(屏幕外),如果你设置了 animation-fill-mode:forwards的话,你会发现,最后弹框没有消失,他停留在了界面内,保持了一次循环后,最后一帧的样式属性。 你可以再研究下

Miss路 2019-05-04 18:53:58

同学,你好。

如果开始的默认值是none的话,可以不设置,让它自动保持默认状态。

如果帮助到了你,欢迎采纳!

祝学习愉快!

  • 老师,我的意思是如果设置开始状态,停留的不就是设置在开始状态下, 疑问是不设置开始状态不也停留在开始时的状态也就是原状态,没有设置的状态
    2019-05-05 21:37:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师