没有看懂啊
设置属性就是保持状态,如图保持在315度。
可是有个元素开始时的状态是不是没有用,不设置不也是开始时状态none
44
收起
正在回答
3回答
同学,你好。你测试一下这两端代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | <!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 > |
和
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | <!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的话,你会发现,最后弹框没有消失,他停留在了界面内,保持了一次循环后,最后一帧的样式属性。 你可以再研究下
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧