CSS Tengeneza
- Kwanza CSS Kipakana
- Pya CSS Tiyozesho la Kitambaa
CSS Tengeneza
CSS 可实现 HTML 元素的动画效果,而不使用 JavaScript 或 Flash!
在本章中,您将学习如下属性:
@keyframes
animation-name
animation-duration
animation-delay
animation-iteration-count
animation-direction
animation-timing-function
animation-fill-mode
animation
对动画的浏览器支持
表格中的数字注明了完全支持该属性的首个浏览器版本。
Inaonyesha | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
@keyframes | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-name | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-duration | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-delay | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-iteration-count | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-direction | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-timing-function | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-fill-mode | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
Nini kina ya CSS uharibifu?
Uharibifu unaingia kwamba inaingia kina ya kina kutoka kina ya kina hadi kina ya kina mpya.
Wewe unaweza kubadilisha kina ya kina kwa kina kwa uharibifu.
Kwa kutumia kina ya CSS uharibifu, wewe wakitegemea inaingia kwamba inaangazia kina ya kina kwa uharibifu.
Kina ya kina inaingia kwamba inaangazia mabara ya kina inayotumiwa kwa mabara kwenye wakati tu.
@keyframes kina
Ikiwa wewe unaendelea @keyframes
Inaingia kwamba inasambaa kina ya CSS inaangazia uharibifu wa kina kwa kina kwenye wakati tu.
Kuwa uharibifu hufikia kina, wewe wakitegemea inasambaa uharibifu kwa kina. Inaingia kwamba inasambaa kina ya CSS inaangazia uharibifu wa kina kwa kina kwenye wakati tu.
Mifano inayotumiwa hapa itakuwa inasambaa "example" uharibifu kwa mabara ya <div>. Uharibifu huitumiwa kwa wakati wa 4 sekunde, kwa kusambaa mabara ya kichwa kwa mabara ya kijani:
Mfano
/* Mafano ya uharibifu */ @keyframes example { from {mabakiwa kwa mabaki: kulengia mabara ya kichwa;} to {mabakiwa kwa mabaki: kulengia mabara ya kijani;} } /* Inaingia uharibifu wa mabara hii kwa kina; */ div { width: 100px; height: 100px; background-color: red; animation-name: example; animation-duration: 4s; }
Hataje.animation-duration
Inaingia kwamba inaangazia wakati anayotakiwa kufikia uharibifu. Ikiwa inahitajika. animation-duration
Inaingia kwamba uharibifu haukitokea, kwa sababu thamani ya kwanza ni 0s (0 sekunde).
Kwenye mifano inayotumiwa hapa, kwa kutumia maneno ya kina "from" na "to" (inaadhimisha 0% (kuanza) na 100% (kufikia)), tumekuwa na uharibifu wa kina kuanza kubadilika.
Wewe wakitegemea namba za kina. Kwa kutumia namba za kina, wewe unaweza kuongeza uharibifu wa uharibifu wa uraifu kwa sababu ya maana ya kina.
Mifano inayotumiwa hapa itakuwa inafanywa kama uharibifu wa 25%, kufikia 50% na uharibifu wa 100% wakati uharibifu hufikia 100% mabara ya <div> itakawezekana kulengia mabara ya kichwa:
Mfano
/* Mafano ya uharibifu */ @keyframes example { 0% {mabakiwa kwa mabaki: kulengia mabara ya kichwa;} 25% {mabakiwa kwa mabaki: kulengia mabara ya kijani;} 50% {background-color: blue;} 50% {background-color: blue;} } /* Elemento zilizotumiwa kwa uharibifu */ div { width: 100px; height: 100px; background-color: red; animation-name: example; animation-duration: 4s; }
100% {background-color: green;}
Mfano
/* Mafano ya uharibifu */ @keyframes example { 0% {background-color:red; left:0px; top:0px;} 25% {background-color:yellow; left:200px; top:0px;} 50% {background-color:blue; left:200px; top:200px;} 75% {background-color:green; left:0px; top:200px;} 100% {background-color:red; left:0px; top:0px;} } /* Elemento zilizotumiwa kwa uharibifu */ div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; }
Kusaidia uharibifu kwa wakati wa kuanza
animation-delay
Mafano unaonyesha kwamba uharibifu unaendelea kwa wakati wa kuanza.
Mfano hii unaonyesha kwamba uharibifu unaendelea kwa 2 sekunde kabla ya kuwaonyesha:
Mfano
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-delay: 2s; }
Mivuno yanaoweza kutumiwa. Ikiwa tunaongea mivuno, uharibifu uianza kuwaonyesha kama haujafikia N sekunde.
Mfano hii unaonyesha kwamba uharibifu uianza kuwaonyesha kama haujafikia 2 sekunde:
Mfano
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-delay: -2s; }
Kufanya kwamba uharibifu unaendelea kwa mara za uharibifu
animation-iteration-count
Mafano unaonyesha kwamba uharibifu unaendelea kwa mara za uharibifu.
Mfano hii unaonyesha kwamba uharibifu unaendelea kwa 3 mara kabla ya kumaliza:
Mfano
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: 3; }
Mfano hii unaonyesha kwa thamani "infinite" kufanya kwamba uharibifu unaendelea kwa kina kina:
Mfano
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: infinite; }
Kusaidia uharibifu kwa mbali mbali na kusaidia kwa sababu ya huzuni
animation-direction
Mafano unaonyesha kwamba uharibifu unaendelea kuwaonyesha kwa mbali mbali, kuja kuelewa au kusaidia kwa sababu ya huzuni.
animation-direction
Mwamaduni huu inadaiwa kwa ufupi:
normal
- Uharibifu unaonyesha kwa njia ya kwa mbali mbali (kuja). Kivinio cha chaguoreverse
- Uharibifu unaonyesha kwa mbali mbali (kuja)alternate
- Uharibifu unaendelea kuwaonyesha kwa mbali mbali na kujaalternate-reverse
- Uharibifu unaendelea kuwaonyesha kwa mbali mbali na kuja
Mfano hii unaonyesha kwamba uharibifu unaendelea kuelewa kwa mbali mbali (kuja):
Mfano
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-direction: reverse; }
Mfano hii unaonyesha kwa thamani "alternate" kufanya kwamba uharibifu uendelee kuja na kuja kuelewa kwa sababu ya huzuni:
Mfano
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: 2; animation-direction: alternate; }
Mfano hii unaonyesha kwa thamani "alternate-reverse" kufanya kwamba uharibifu uendelee kuja na kuja kuelewa kwa sababu ya huzuni:
Mfano
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: 2; animation-direction: alternate-reverse; }
Kuchagua mawimbi wa uharibifu wa kawaida
animation-timing-function
Mwamaduni huu inadaiwa na uharibifu wa kawaida.
animation-timing-function
Mwamaduni huu inadaiwa kwa ufupi:
ease
- Kuchagua uharibifu ambao inasababisha kuzingatia na kumaliza kwa uharibifu wa kwanza (kawaida).linear
- Kuchagua uharibifu ambao inasababisha uharibifu wa kuzingatia na kumaliza kwa uharibifu wa kwanza.ease-in
- Kuchagua uharibifu wa kuzingatia kwa uharibifu wa kwanza.ease-out
- Kuchagua uharibifu wa kumaliza kwa uharibifu wa kwanza.ease-in-out
- Kuchagua uharibifu wa kuzingatia na kumaliza kwa uharibifu wa kwanza na kumaliza kwa uharibifu wa kwanza.cubic-bezier(n,n,n,n)
- Runia uharibifu wako kwa kuzingatia kwa mfano wa kutoka kwa mfano wa kufikia.
Mfano hii inaonyesha kwa uharibifu wa kawaida zaidi zaidi za kufikia:
Mfano
#div1 {animation-timing-function: linear;} #div2 {animation-timing-function: ease;} #div3 {animation-timing-function: ease-in;} #div4 {animation-timing-function: ease-out;} #div5 {animation-timing-function: ease-in-out;}
Kuchagua mawimbi wa uharibifu wa hali
Uharibifu wa CSS hauweza kumwambika jicho kabla ya kina-chuki wa kwanza au baada ya kina-chuki wa mwisho.animation-fill-mode
Mwamaduni huu inaweza kumaliza hii.
Hata imetoka katika uharibifu (kabla ya kuanza, baada ya kumaliza, au kwa mbali mbali),animation-fill-mode
Mwamaduni huu inadaiwa na jicho ya uharibifu.
Mwamaduni wa uharibifu wa hali unaonekana kwa ufupi:
none
- Chaguo cha kawaida. Uharibifu haupeana hali kwa jicho kabla ya uharibifu au baada ya uharibifu.forwards
- Jicho kinasafiri katika uharibifu wa kina-chuki wa mwisho (kutegemea mawimbi wa uharibifu na mawimbi wa uharibifu wa kuzingatia).backwards
- Jicho kinasafiri katika uharibifu wa kina-chuki wa kwanza (kutegemea mawimbi wa uharibifu) na kusafiri katika wakati wa kusasa wa uharibifu.both
- Uharibifu unatokana na mabaki ya mawimbi wa kuzingatia na kuzingatia kubadilika katika uharibifu wa sababu.
Mfano hii inaonyesha <div> kuwa inasimama katika mabaki ya kina-chuki ya mwisho ya uharibifu wa hali.
Mfano
div { width: 100px; height: 100px; background: red; position: relative; animation-name: example; animation-duration: 3s; animation-fill-mode: forwards; }
Maelezo yafuatayo inaonyesha uharibifu wa sababu ya kina wa <div> kwenye wakati wa kuanzia (kwenye muda wa kusikia) wa uharibifu:
Mfano
div { width: 100px; height: 100px; background: red; position: relative; animation-name: example; animation-duration: 3s; animation-delay: 2s; animation-fill-mode: backwards; }
Maelezo yafuatayo inaonyesha uharibifu wa sababu ya kina wa <div> kwenye wakati wa kuanzia kwenye uharibifu, na kuwa na uharibifu wa uharibifu wa kuzama wa uharibifu wa kuzama wa uharibifu wa kuzama:
Mfano
div { width: 100px; height: 100px; background: red; position: relative; animation-name: example; animation-duration: 3s; animation-delay: 2s; animation-fill-mode: both; }
Inaonyesha sababu ya uharibifu wa kina
Maelezo yafuatayo inaonyesha kila sababu ya uharibifu ya kina:
Mfano
div { animation-name: example; animation-duration: 5s; animation-timing-function: linear; animation-delay: 2s; animation-iteration-count: infinite; animation-direction: alternate; }
Inaonyesha uharibifu wa kina: animation
Inaonyesha sababu ya uharibifu inayofanana na maelezo yaliyotumika:
Mfano
div { animation: example 5s linear 2s infinite alternate; }
Sababu za uharibifu ya CSS
Tafanua hii inatokana @keyframes na kila sababu ya uharibifu ya CSS:
Inaonyesha | Inaonyesha |
---|---|
@keyframes | Inaonyesha modi ya uharibifu. |
animation | Inaonyesha uharibifu wa sababu ya kina. |
animation-delay | Inaonyesha uharibifu wa muda wa kuanzia. |
animation-direction | Inaonyesha ukifuatilia wa uharibifu, ukifika kwenye kuzama, au kwa mbio. |
animation-duration | Inaonyesha wakati wa uharibifu wa kiwango chake cha kuzama. |
animation-fill-mode | Inaonyesha uharibifu wa uzozi kama ingia, kufikia mwisho, au kwa mbio. |
animation-iteration-count | Inaonyesha mara anavyotumika yaani yaani yanaonyesha. |
animation-name | Inaonyesha @keyframes yaani yaani yanaonyesha. |
animation-play-state | Kurudisha kina cha uharibifu wa mzunguko. |
animation-timing-function | Kurudisha kina cha uharibifu wa mzunguko. |
- Kwanza CSS Kipakana
- Pya CSS Tiyozesho la Kitambaa