CSSã¢ãã¡ãŒã·ã§ã³ã¿ã€ã ã©ã€ã³ã®åŒ·åãªæ©èœãç¹ã«ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã«çŠç¹ãåœãŠãŠæ¢æ±ããŸãããŠãŒã¶ãŒã¹ã¯ããŒã«ã«åå¿ãããé åçã§ã€ã³ã¿ã©ã¯ãã£ããªãŠã§ãäœéšã®äœãæ¹ãåŠã³ãŸãããã
CSSã¢ãã¡ãŒã·ã§ã³ã¿ã€ã ã©ã€ã³ããã¹ã¿ãŒããïŒçŸä»£ã®ãŠã§ãäœéšã®ããã®ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³
ãŠã§ãã¯çµ¶ããé²åããŠãããããé åçã§ã€ã³ã¿ã©ã¯ãã£ããªãŠãŒã¶ãŒäœéšãæ±ããããŠããŸãããããå®çŸããããã®åŒ·åãªãã¯ããã¯ã®äžã€ããCSS Animation Timelineæ©èœã«ãã£ãŠå¯èœã«ãªã£ãã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã§ãããã®èšäºã§ã¯ãCSS Animation Timelineã®è€éãªéšåãæãäžããç¹ã«ã¹ã¯ããŒã«äœçœ®ã掻çšããŠé åçã§ãã€ãããã¯ãªãŠã§ãã³ã³ãã³ããäœæããæ¹æ³ã«çŠç¹ãåœãŠãŸãã
CSS Animation Timelineãšã¯ïŒ
CSS Animation Timelineã¯ãã¿ã€ã ã©ã€ã³ã®é²è¡ã«åºã¥ããŠCSSã¢ãã¡ãŒã·ã§ã³ãå¶åŸ¡ããæ¹æ³ãæäŸããŸããæéããŒã¹ã®æç¶æéã ãã«é Œãã®ã§ã¯ãªããããŒãžã¹ã¯ããŒã«äœçœ®ãã¡ãã£ã¢èŠçŽ ã®é²è¡ç¶æ³ãªã©ãä»ã®èŠå ã«ã¢ãã¡ãŒã·ã§ã³ãé¢é£ä»ããããšãã§ããŸããããã«ããããŠãŒã¶ãŒã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã«å¯ŸããŠããèªç¶ã§å¿çæ§ã®é«ãã¢ãã¡ãŒã·ã§ã³ãäœæããããã®æ°ããªå¯èœæ§ãéãããŸãã
åŸæ¥ã®CSSã¢ãã¡ãŒã·ã§ã³ã¯animation-duration
ããããã£ã«ãã£ãŠé§åãããã¢ãã¡ãŒã·ã§ã³ãå®äºãããŸã§ã®æéãæå®ããŸããããããCSS Animation Timelineã§ã¯animation-timeline
ãanimation-range
ã®ãããªããããã£ãå°å
¥ãããã³ã³ããã®ã¹ã¯ããŒã«é²è¡ç¶æ³ãªã©ãç¹å®ã¿ã€ã ã©ã€ã³ã«ã¢ãã¡ãŒã·ã§ã³ã®é²è¡ããããã³ã°ããããšãå¯èœã«ãªããŸãã
ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ãçè§£ãã
ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã¯ãCSSã¢ãã¡ãŒã·ã§ã³ã®é²è¡ãèŠçŽ ãŸãã¯ããã¥ã¡ã³ãå šäœã®ã¹ã¯ããŒã«äœçœ®ã«ãªã³ã¯ãããŸãããŠãŒã¶ãŒãã¹ã¯ããŒã«ããã«ã€ããŠãã¢ãã¡ãŒã·ã§ã³ãããã«å¿ããŠé²è¡ããŸããããã«ããããŠãŒã¶ãŒã®ã¹ã¯ããŒã«è¡åã«èŠçŽ ãåçã«åå¿ãããã·ãŒã ã¬ã¹ã§çŽæçãªäœéšãçã¿åºãããŸãã
ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã®ã¡ãªãã
- ãŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ãã®åäžïŒ ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã¯ãŠãŒã¶ãŒã®æ³šæãåŒãã€ããã³ã³ãã³ããããã«æ¢æ±ããããã«ä¿ããŸãã
- ã¹ããŒãªãŒããªã³ã°ã®æ¹åïŒ ãŠãŒã¶ãŒãã¹ã¯ããŒã«ããã«ã€ããŠæ å ±ãæ®µéçã«è¡šç€ºããããã«äœ¿çšã§ãããã説åŸåã®ããç©èªãäœãåºããŸãã補åã®æ©èœãäžã€ãã€ç޹ä»ããããŒãžãã¹ã¯ããŒã«ããŠã³ããã«ã€ããŠè£œåãæããã«ãªãæ§åãæ³åããŠã¿ãŠãã ããã
- çŽæçãªããã²ãŒã·ã§ã³ïŒ ã¢ãã¡ãŒã·ã§ã³ã¯ãããŒãžå ã§ã®ãŠãŒã¶ãŒã®äœçœ®ã«é¢ããèŠèŠçãªæããããæäŸããã³ã³ãã³ããæ¡å ããããšãã§ããŸããäŸãã°ãã¹ã¯ããŒã«ããã«ã€ããŠæºããããããã°ã¬ã¹ããŒãªã©ã§ãã
- ããã©ãŒãã³ã¹ã®æé©åïŒ CSSã¢ãã¡ãŒã·ã§ã³ã¯äžè¬çã«ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãå¹ããããç¹ã«è€éãªã¢ãã¡ãŒã·ã§ã³ã®å ŽåãJavaScriptããŒã¹ã®ãœãªã¥ãŒã·ã§ã³ãšæ¯èŒããŠããæ»ãããªã¢ãã¡ãŒã·ã§ã³ã«ãªããŸãã
- ã¢ã¯ã»ã·ããªãã£ãžã®é æ ®ïŒ æ£ããå®è£ ãããã°ãCSSã®ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã¯JavaScriptã®ä»£æ¿æ¡ãããã¢ã¯ã»ã·ãã«ã«ãªãããšããããŸããã¢ãã¡ãŒã·ã§ã³ãçºäœãåŒãèµ·ãããããèªç¥é害ã®ãããŠãŒã¶ãŒã®æ³šæãæ£æŒ«ã«ãããããªãããã«åžžã«ç¢ºèªããŠãã ãããäžæåæ¢/åçã³ã³ãããŒã«ãæäŸããŸãããã
ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã®ããã®äž»èŠãªCSSããããã£
ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ãäœæããã«ã¯ãäž»ã«ä»¥äžã®CSSããããã£ã䜿çšããŸãïŒ
animation-timeline
: ãã®ããããã£ã¯ãã¢ãã¡ãŒã·ã§ã³ãé§åããã¿ã€ã ã©ã€ã³ãæå®ããŸããã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã®å Žåãéåžžã¯scroll()
颿°ã䜿çšããŸããanimation-range
: ãã®ããããã£ã¯ãã¢ãã¡ãŒã·ã§ã³ãåçãããã¹ãã¹ã¯ããŒã«äœçœ®ã®ç¯å²ãå®çŸ©ããŸããentry
,cover
,contain
ãªã©ã®ããŒã¯ãŒããç¹å®ã®ãã¯ã»ã«å€ã䜿çšããŠéå§ç¹ãšçµäºç¹ãæå®ã§ããŸããscroll-timeline-axis
: ã¢ãã¡ãŒã·ã§ã³ã¿ã€ã ã©ã€ã³ã«äœ¿çšããã¹ã¯ããŒã«ã®è»žãæå®ããŸããæå®å¯èœãªå€ã¯block
(åçŽ),inline
(æ°Žå¹³),x
,y
,auto
ã§ããscroll-timeline-name
: ã¹ã¯ããŒã«ã¿ã€ã ã©ã€ã³ã«ååãå²ãåœãŠãanimation-timeline
ããããã£ã§ãããåç §ã§ããããã«ããŸãã
ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã®å®çšäŸ
ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ãå®è£ ããæ¹æ³ã説æããããã«ãããã€ãã®å®çšçãªäŸãèŠãŠãããŸãããã
äŸ1ïŒã¹ã¯ããŒã«æã®èŠçŽ ã®ãã§ãŒãã€ã³
ãã®äŸã§ã¯ãã¹ã¯ããŒã«äžã«èŠçŽ ããã¥ãŒã«å ¥ã£ãŠãããšãã§ãŒãã€ã³ããæ¹æ³ã瀺ããŸãã
.fade-in {
opacity: 0;
animation: fade-in 1s forwards;
animation-timeline: view();
animation-range: entry 25% cover 75%;
}
@keyframes fade-in {
to {
opacity: 1;
}
}
解説ïŒ
.fade-in
: ãã§ãŒãã€ã³ããããèŠçŽ ã«é©çšãããã¯ã©ã¹ã§ããåæã®äžéæåºŠã0ã«èšå®ããŸããanimation: fade-in 1s forwards;
: ã¢ãã¡ãŒã·ã§ã³å (fade-in
)ãæç¶æé (1s)ãããã³ãã£ã«ã¢ãŒã (æçµç¶æ ãç¶æããããã®forwards
) ãæå®ããŸããanimation-timeline: view();
: ã¢ãã¡ãŒã·ã§ã³ããã¥ãŒããŒãå ã®èŠçŽ ã®å¯èŠæ§ã«æ¥ç¶ããŸããã¢ãã¡ãŒã·ã§ã³ã¿ã€ã ã©ã€ã³ã¯èŠçŽ ã®ãã¥ãŒã«ãªããŸããanimation-range: entry 25% cover 75%;
: ããã¯ã¹ã¯ããŒã«ç¯å²ãå®çŸ©ããŸããã¢ãã¡ãŒã·ã§ã³ã¯èŠçŽ ã®äžéš (entry
) ããã¥ãŒããŒãã®äžéšãã25%ã®äœçœ®ã«æ¥ããšãã«éå§ããèŠçŽ ã®äžéš (cover
) ããã¥ãŒããŒãã®äžéšãã75%ã®äœçœ®ã«æ¥ããšãã«çµäºããŸãã@keyframes fade-in
: ã¢ãã¡ãŒã·ã§ã³èªäœãå®çŸ©ããäžéæåºŠã0ãã1ã«åçŽã«å€æŽããŸãã
äŸ2ïŒããã°ã¬ã¹ããŒã®ã¢ãã¡ãŒã·ã§ã³
ãã®äŸã§ã¯ããŠãŒã¶ãŒãããŒãžãã¹ã¯ããŒã«ããŠã³ããã«ã€ããŠæºããããããã°ã¬ã¹ããŒã玹ä»ããŸãã
.progress-bar {
width: 100%;
height: 10px;
background-color: #eee;
position: fixed;
top: 0;
left: 0;
z-index: 1000;
}
.progress-bar-inner {
height: 100%;
background-color: #4CAF50;
width: 0;
animation: fill-progress forwards;
animation-timeline: scroll(root);
animation-range: 0vh 100vh;
}
@keyframes fill-progress {
to {
width: 100%;
}
}
解説ïŒ
.progress-bar
: ããã°ã¬ã¹ããŒã®ã³ã³ãããã¹ã¿ã€ãªã³ã°ããŸãããã¥ãŒããŒãã®äžéšã«åºå®ãããŸãã.progress-bar-inner
: é²è¡ç¶æ³ã衚ãå åŽã®ããŒãã¹ã¿ã€ãªã³ã°ããŸããåæç¶æ ã§ã¯ãå¹ ã¯0ã«èšå®ãããŠããŸããanimation: fill-progress forwards;
: ã¢ãã¡ãŒã·ã§ã³ãé©çšããŸããanimation-timeline: scroll(root);
: ã¢ãã¡ãŒã·ã§ã³ãã«ãŒãã¹ã¯ããŒã«ã¿ã€ã ã©ã€ã³ (ã€ãŸããããã¥ã¡ã³ãã®ã¹ã¯ããŒã«) ã«ãªã³ã¯ããŸããanimation-range: 0vh 100vh;
: ãŠãŒã¶ãŒãããã¥ã¡ã³ãã®äžéš (0vh) ããäžéš (100vh) ãŸã§ã¹ã¯ããŒã«ããéã«ã¢ãã¡ãŒã·ã§ã³ãå®äºããããšãæå®ããŸããããã¯ã³ã³ãã³ãããã¥ãŒããŒããåãããšä»®å®ããŠããŸããããé·ãã³ã³ãã³ãã®å Žåã¯ããã®å€ã調æŽããŠãã ããã@keyframes fill-progress
: ã¢ãã¡ãŒã·ã§ã³ãå®çŸ©ããŸããããã¯å åŽã®ããŒã®å¹ ã0ãã100%ã«åçŽã«å¢å ãããŸãã
äŸ3ïŒç»åã®ãã©ã©ãã¯ã¹å¹æ
ãã®äŸã§ã¯ããŠãŒã¶ãŒãã¹ã¯ããŒã«ããéã«ç»åã«åŸ®çްãªãã©ã©ãã¯ã¹å¹æãçã¿åºããŸãã
.parallax-container {
height: 500px;
overflow: hidden;
position: relative;
}
.parallax-image {
width: 100%;
height: auto;
position: absolute;
top: 0;
left: 0;
transform-origin: 50% 0;
animation: parallax 1s linear forwards;
animation-timeline: view();
animation-range: entry cover;
}
@keyframes parallax {
to {
transform: translateY(50px);
}
}
解説ïŒ
.parallax-container
: ãã©ã©ãã¯ã¹ç»åã®å¯èŠé åãå®çŸ©ããã³ã³ããã§ããoverflow: hidden
ã¯ç»åãã¯ã¿åºãã®ãé²ãããã«éèŠã§ãã.parallax-image
: ãã©ã©ãã¯ã¹å¹æãæã€ç»åã§ããtransform-origin: 50% 0;
ã¯ãå€åœ¢ã®åç¹ãç»åã®äžéšäžå€®ã«èšå®ããŸããanimation: parallax 1s linear forwards;
: ã¢ãã¡ãŒã·ã§ã³ãé©çšããŸããanimation-timeline: view();
: ã¢ãã¡ãŒã·ã§ã³ããã¥ãŒããŒãå ã®èŠçŽ ã®å¯èŠæ§ã«ãªã³ã¯ããŸããanimation-range: entry cover;
: ã¢ãã¡ãŒã·ã§ã³ã¯èŠçŽ ããã¥ãŒããŒãã«å ¥ããèŠãéã«åçãããŸãã@keyframes parallax
: ã¢ãã¡ãŒã·ã§ã³ãå®çŸ©ããŸããããã¯ç»åãåçŽæ¹åã«50pxç§»åãããŸãã
é«åºŠãªãã¯ããã¯ãšèæ ®äºé
JavaScriptã䜿çšããå¶åŸ¡ã®åŒ·å
CSS Animation Timelineã¯ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ãäœæããããã®åŒ·åãªæ¹æ³ãæäŸããŸãããJavaScriptãçµ±åããããšã§å¶åŸ¡ãšã«ã¹ã¿ãã€ãºãããã«åŒ·åã§ããŸããäŸãã°ãJavaScriptã䜿çšããŠæ¬¡ã®ããšãå¯èœã§ãïŒ
- ããã€ã¹ã®ãµã€ãºããŠãŒã¶ãŒã®å¥œã¿ã«åºã¥ããŠã¢ãã¡ãŒã·ã§ã³ãã©ã¡ãŒã¿ãåçã«èª¿æŽããã
- ç¹å®ã®ã¹ã¯ããŒã«äœçœ®ãã€ãã³ãã«åºã¥ããŠã¢ãã¡ãŒã·ã§ã³ãããªã¬ãŒããã
- ããè€éãªã¢ãã¡ãŒã·ã§ã³ã·ãŒã±ã³ã¹ãå®è£ ããã
ããã©ãŒãã³ã¹ã®æé©å
ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ãæ±ãéã«ã¯ãã¹ã ãŒãºãªãŠãŒã¶ãŒäœéšãä¿èšŒããããã«ããã©ãŒãã³ã¹ãæé©åããããšãéèŠã§ãã以äžã®ãã³ããèæ ®ããŠãã ããïŒ
- ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãå¹ãCSSããããã£ã䜿çšããïŒ äžè¬çã«ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãå¹ã
transform
ãopacity
ã®ãããªããããã£ã掻çšããŸãã - DOMæäœãæå°éã«æããïŒ DOMãé »ç¹ã«æŽæ°ããããšã¯ããã©ãŒãã³ã¹ã®ããã«ããã¯ã«ã€ãªããå¯èœæ§ããããããé¿ããŠãã ããã
- ã¹ã¯ããŒã«ã€ãã³ããªã¹ããŒããããŠã³ã¹ããïŒ JavaScriptã䜿çšããŠããå Žåãã¹ã¯ããŒã«ã€ãã³ããªã¹ããŒããããŠã³ã¹ããŠã¢ãã¡ãŒã·ã§ã³ãæŽæ°ãããåæ°ãæžãããŸãã
will-change
ããããã£ãè³¢ã䜿ãïŒwill-change
ããããã£ã¯ãèŠçŽ ã®ããããã£ã倿Žãããããšããã©ãŠã¶ã«ç€ºåããã¬ã³ããªã³ã°ãæé©åãããããšãã§ããŸãããããã䜿ãããããšããã©ãŒãã³ã¹ã«æªåœ±é¿ãäžããå¯èœæ§ããããŸãã
ã¢ã¯ã»ã·ããªãã£ã®ãã¹ããã©ã¯ãã£ã¹
ã¢ãã¡ãŒã·ã§ã³ãå®è£ ããéã«ã¯ãã¢ã¯ã»ã·ããªãã£ã確ä¿ããããšãæãéèŠã§ãã以äžã®ãã¹ããã©ã¯ãã£ã¹ãå¿ã«çããŠãããŠãã ããïŒ
- ã¢ãã¡ãŒã·ã§ã³ãäžæåæ¢ãŸãã¯ç¡å¹ã«ããæ¹æ³ãæäŸããïŒ åããã¢ãã¡ãŒã·ã§ã³ã«ææãªãŠãŒã¶ãŒããããããããããç¡å¹ã«ãããªãã·ã§ã³ãæäŸããŠãã ãããããã¯ãŠãŒã¶ãŒèšå®ã®ç°¡åãªãã°ã«ã§å®çŸã§ããŸãã
- ç¹æ» ãããæ¥æ¿ã«å€åãããããã¢ãã¡ãŒã·ã§ã³ãé¿ããïŒ ãããã¯äžéšã®äººã«çºäœãåŒãèµ·ããå¯èœæ§ããããŸãã
- ã¢ãã¡ãŒã·ã§ã³ãæå³çã«äœ¿çšããäžèŠãªã¢ãã¡ãŒã·ã§ã³ã¯é¿ããïŒ ã¢ãã¡ãŒã·ã§ã³ã¯ãŠãŒã¶ãŒäœéšãåäžãããã¹ãã§ãããæ³šæãæ£æŒ«ã«ããããã®ã§ãã£ãŠã¯ãªããŸããã
- æ¯æŽæè¡ã§ãã¹ãããïŒ ã¢ãã¡ãŒã·ã§ã³ãã¹ã¯ãªãŒã³ãªãŒããŒããã®ä»ã®æ¯æŽæè¡ãšäºææ§ãããããšã確èªããŠãã ããã
ãã©ãŠã¶ã®äºææ§
Can I useã®ãããªãªãœãŒã¹ã§CSS Animation Timelineæ©èœã®çŸåšã®ãã©ãŠã¶äºææ§ã確èªããŠãã ãããããåºãäºææ§ãå¿ èŠãªå Žåã¯ãå€ããã©ãŠã¶åãã«åæ§ã®æ©èœãæäŸããããªãã£ã«ãJavaScriptã©ã€ãã©ãªã®äœ¿çšãæ€èšããŠãã ããã
ãŠã§ããã¶ã€ã³ã«ãããã°ããŒãã«ãªèæ ®äºé
ã°ããŒãã«ãªèŠèŽè åãã«ãŠã§ããµã€ãããã¶ã€ã³ããéã«ã¯ãæåçãªéããã¢ã¯ã»ã·ããªãã£èŠä»¶ãèæ ®ããããšãéèŠã§ããããã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- èšèªãµããŒãïŒ ãŠã§ããµã€ããå€èšèªããµããŒãããã¢ãã¡ãŒã·ã§ã³ããã¹ããå«ããã¹ãŠã®ã³ã³ãã³ãã«é©åãªç¿»èš³ãæäŸããããšã確èªããŠãã ããã
- æåçãªé æ ®ïŒ ç»åãè²ããã¶ã€ã³èŠçŽ ã«ãããæåçãªéãã«æ³šæããŠãã ãããããæåã§é åçãšããããã®ããå¥ã®æåã§ã¯äžå¿«ã«æããããããšããããŸããäŸãã°ãè²ã®é£æ³ã¯å€§ããç°ãªããå€ãã®è¥¿æŽæåã§ã¯çœã¯çŽç²ãã衚ããŸãããäžéšã®ã¢ãžã¢æåã§ã¯åªã®è±¡åŸŽã§ãã
- å³ããå·ŠïŒRTLïŒã¬ã€ã¢ãŠãïŒ ã¢ã©ãã¢èªãããã©ã€èªã®ãããªRTLèšèªããµããŒããããŠã§ããµã€ãã®ã¬ã€ã¢ãŠãããã©ãŒãªã³ã°ããå¿ èŠããããŸããCSSè«çããããã£ããããæ¯æŽããŸãã
- ã¿ã€ã ãŸãŒã³ãšæ¥ä»åœ¢åŒïŒ ãŠãŒã¶ãŒã®ããŒã«ã«ã¿ã€ã ãŸãŒã³ã§ãé©åãªæ¥ä»åœ¢åŒã䜿çšããŠæ¥æã衚瀺ããŸãã
- éè²šãšæž¬å®åäœïŒ äŸ¡æ Œãšæž¬å®å€ããŠãŒã¶ãŒã®çŸå°é貚ãšåäœã§è¡šç€ºããŸãã
- ã¢ã¯ã»ã·ããªãã£åºæºïŒ WCAGïŒãŠã§ãã³ã³ãã³ãã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ïŒã®ãããªã¢ã¯ã»ã·ããªãã£åºæºãéµå®ããé害ãæã€äººã ããŠã§ããµã€ããå©çšã§ããããã«ããŸãã
çµè«
CSS Animation Timelineãç¹ã«ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ã¯ãé åçã§ã€ã³ã¿ã©ã¯ãã£ããªãŠã§ãäœéšãäœãåºãããã®åŒ·åãªæ¹æ³ãæäŸããŸããäž»èŠãªCSSããããã£ãçè§£ããããã©ãŒãã³ã¹ãšã¢ã¯ã»ã·ããªãã£ã®ãã¹ããã©ã¯ãã£ã¹ãå®è£ ããããšã§ãèŠèŽè ãé äºããå šäœçãªãŠãŒã¶ãŒäœéšãåäžãããã¢ãã¡ãŒã·ã§ã³ãäœæã§ããŸãã倿§ãªèŠèŽè åãã«ãã¶ã€ã³ããéã«ã¯ãã°ããŒãã«ãªèŠç¹ãå¿ããã«ããŠã§ããµã€ããäžçäžã®ãŠãŒã¶ãŒã«ãšã£ãŠã¢ã¯ã»ã·ãã«ã§æåçã«é æ ®ããããã®ã«ãªãããã«ããŠãã ããããã©ãŠã¶ã®ãµããŒããåäžãç¶ããã«ã€ããŠãCSS Animation Timelineã¯çŸä»£ã®ãŠã§ãéçºè ã«ãšã£ãŠãŸããŸãéèŠãªããŒã«ã«ãªãã§ãããã
æäŸãããäŸã詊ããããããŸããŸãªã¢ãã¡ãŒã·ã§ã³æè¡ãæ¢æ±ãããããŠãåµé æ§ãçºæ®ããŠãŠããŒã¯ã§èšæ¶ã«æ®ããŠã§ãäœéšãäœãäžããŠãã ããããã®èšäºãã倿§ãªã°ããŒãã«ãªèŠèŽè ãèæ ®ããªãããCSSã¢ãã¡ãŒã·ã§ã³ã¿ã€ã ã©ã€ã³ãç¹ã«ã¹ã¯ããŒã«é§ååã¢ãã¡ãŒã·ã§ã³ãããªãã®ãããžã§ã¯ãã«çµ±åãå§ããããã®åŒ·åºãªåºç€ãæäŸããããšãé¡ã£ãŠããŸãã