ã„ãˆãƒ¼ã„CSSã§ãりãり動ã‹ã—ã¦ã¾ã™ã‹ï¼

ã‚„ã‚ã†ã‚„ã‚ã†ã¨æ€ã„ã¤ã¤ãªã‹ãªã‹æ‰‹ãŒå‡ºãªã„ãªã‚“ã¦äº‹ã‚‚ã‚りã¾ã™ãŒã€CSS Animationã«ã¤ã„ã¦ãã‚“ãªäººã®ãŸã‚ã®ç°¡å˜ãªå°Žå…¥ã§ã™ã€‚

CSSã§ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¯äºŒç¨®é¡ž

実ã¯CSSã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã€ã¨è¨€ã£ã¦ã‚‚二種類ã‚りã¾ã™ã€‚

  • transition … マウスホãƒãƒ¼ã¨ã‹ã®æ“作時ã«å‹•ãã‚„ã¤
  • animation … ãšã£ã¨å‹•ãç¶šã‘ã‚‹ã‚„ã¤
  • プロパティã¯å‰²ã¨ä¼¼ã¦ã‚‹
  • 今ã®ã¨ã“ã‚ã€ã©ã¡ã‚‰ã‚‚ベンダープレフィクスãŒå¿…è¦

é »ç¹ã«ä½¿ã‚れるã®ã¯å‰è€…ã§ã—ょã†ã‹ã€‚

transitionã§ã•ãã£ã¨ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³

リンクã«ã‚«ãƒ¼ã‚½ãƒ«ã‚’載ã›ã‚‹ã¨æ–‡å­—色ãŒå¤‰ã‚ã‚‹ã€ã¨ã„ã†ä¾‹ã€‚

:link {
  color: #00f;
  transition: color .5s;
}
:link:hover {
  color: #f00;
}
  • transitionプロパティã§è¨­å®šã—ã¾ã™ã€‚
  • 値ã¯ã€Œå¤‰åŒ–ã•ã›ãŸã„プロパティã®åå‰ã€ã¨ã€Œå¤‰åŒ–ã«ã‹ã‘る時間ã€ã§ã™ã€‚
    • 時間ã®å˜ä½ã¯sã§ã€secondsã¤ã¾ã‚Šç§’ã§ã™ã€‚
    • (ã¡ãªã¿ã«CSSã¯0.1ã‚’.1ã¨è¨˜è¿°ã™ã‚‹äº‹ãŒå‡ºæ¥ã¾ã™ã€‚)
  • 複数設定ã™ã‚‹å ´åˆã¯ã‚«ãƒ³ãƒž,ã§åŒºåˆ‡ã‚Šã¾ã™ã€‚
  • ä»–ã«å¤‰åŒ–ã®ã•ã›æ–¹ã¨ã€å¤‰åŒ–å‰ã®å¾…ã¡æ™‚間を設定ã™ã‚‹äº‹ãŒå‡ºæ¥ã¾ã™ã€‚

animationã§ãŒã¤ã£ã¨ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³

.selector {
  animation: blink 1s infinite;
}
@keyframes blink {
      0% { opacity:1 }
    100% { opacity:0 }
}
  • animationã¨@keyframesã®äºŒç¨®é¡žãŒå¿…è¦ã§ã™ã€‚
  • animationã‹ã‚‰åˆ©ç”¨ã™ã‚‹keyframesã®åå‰ã‚’指定ã—ã¾ã™ã€‚
  • @keyframesã§ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã®å†…容を指定ã—ã¾ã™ã€‚
  • animationã§æŒ‡å®šã™ã‚‹ã®ã¯å…¨ä½“ã®æ™‚é–“ã§ã™ã€‚
  • @keyframesã§æŒ‡å®šã™ã‚‹ã®ã¯æ™‚é–“ã®ã†ã¡ã®é€²è¡Œå‰²åˆã§ã™ã€‚
  • å†ç”Ÿæ™‚é–“ã¯animationã§æŒ‡å®šã—ã¾ã™ã€‚
  • 何も指定ã—ãªã‘れã°ã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¯0→100%ã¾ã§ã‚„ã£ã¦çµ‚ã‚りã¾ã™ã€‚
  • infiniteを指定ã™ã‚‹ã¨ã€ä½•度も繰り返ã—ã¾ã™ã€‚
  • alternateを指定ã™ã‚‹ã¨ã€è¡Œã£ã¦æˆ»ã£ã¦ãŒå‡ºæ¥ã¾ã™ã€‚

ã‚‚ã£ã¨ãã‚ã—ã

MDNã‚ãŸã‚Šã‚’。

ãŠã—ã¾ã„

実ã¯å¾Œæ—¥ã®è¨˜äº‹ã¸ã®å¸ƒçŸ³ã§ã™ã€‚