Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

@keyframes ⚑️ HTML ΠΈ CSS с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ @keyframes управляСт ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ шагами Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ CSS, опрСдСляя стили для ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ больший ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ этапами Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹.

@-ΠΏΡ€Π°Π²ΠΈΠ»Π°
  • @charset
  • @import
  • @namespace
  • @media
  • @supports
  • @document
  • @page
  • @font-face
  • @keyframes
  • @viewport
  • @counter-style
  • @font-feature-values
ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΈ Анимации
  • @keyframes
  • animation
  • animation-delay
  • animation-direction
  • animation-duration
  • animation-fill-mode
  • animation-iteration-count
  • animation-name
  • animation-play-state
  • animation-timing-function
  • transition
  • transition-delay
  • transition-duration
  • transition-property
  • transition-timing-function

Бинтаксис

@keyframes slidein {
  from {
    margin-left: 100%;
    width: 300%;
  }
  50% {
    margin-left: 50%;
    width: 200%;
  }
  to {
    margin-left: 0%;
    width: 100%;
  }
}

ЗначСния

JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ @keyframes ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ интСрфСйса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ CSS CSSKeyframesRule.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹, создайтС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ @keyframes с ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойством animation-name. КаТдоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ @keyframes содСрТит список стилСй сСлСкторов ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹ вдоль Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° происходит ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΊΠ°Π΄Ρ€, ΠΈ Π±Π»ΠΎΠΊ, содСрТащий стили для этого ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π° Π² любом порядкС; ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ.

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ списки ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ²

Если ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ @keyframes Π½Π΅ опрСдСляСт Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ состояния Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 0%/from ΠΈ 100%/to, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ стили этого элСмСнта для состояний Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ элСмСнта ΠΈΠ· Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ состояния ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

Бвойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… @keyframes, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ свойства всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ²

Если для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ сущСствуСт нСсколько Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ послСдний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ встрСчаСтся парсСром. ΠŸΡ€Π°Π²ΠΈΠ»Π° @keyframes Π½Π΅ ΠΊΠ°ΡΠΊΠ°Π΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, поэтому Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ выводят ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΏΡ€Π°Π²ΠΈΠ».

Если смСщСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ дублируСтся, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ послСдний ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΊΠ°Π΄Ρ€ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π΅ @keyframes для этого ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° @keyframes Π½Π΅Ρ‚ каскадирования, Ссли нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Ρ‹Π΅ значСния.

Когда свойства Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€Π°Ρ…

Бвойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅, ΠΏΠΎ возмоТности ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ — свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈΠ· Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. НапримСр:

@keyframes identifier {
  0% {
    top: 0;
    left: 0;
  }
  30% {
    top: 50px;
  }
  68%,
  72% {
    left: 50px;
  }
  100% {
    top: 100px;
    left: 100%;
  }
}

Π—Π΄Π΅ΡΡŒ свойство top Π°Π½ΠΈΠΌΠΈΡ€ΡƒΠ΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ 0%, 30% ΠΈ 100% ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹, Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ для left ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ 0%, 68% ΠΈ 100% ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹.

Когда ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΊΠ°Π΄Ρ€ опрСдСляСтся нСсколько Ρ€Π°Π·

Если ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΊΠ°Π΄Ρ€ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ нСсколько Ρ€Π°Π·, Π½ΠΎ Π½Π΅ всС Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ свойства находятся Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² послСднСм ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅. НапримСр:

@keyframes identifier {
  0% {
    top: 0;
  }
  50% {
    top: 30px;
    left: 20px;
  }
  50% {
    top: 10px;
  }
  100% {
    top: 0;
  }
}

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π° 50% ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ top: 10px, Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ значСния Π² этом ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

ΠšΠ°ΡΠΊΠ°Π΄Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ начиная с Firefox 14. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² 50% ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ left: 20px. Π­Ρ‚ΠΎ Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² спСцификации, Π½ΠΎ это обсуТдаСтся.

!important Π² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€Π°Ρ…

ОбъявлСния Π² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€Π°Ρ… с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ !important ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ:

@keyframes important1 {
  from {
    margin-top: 50px;
  }
  50% {
    margin-top: 150px !important;
  } /* ignored */
  to {
    margin-top: 100px;
  }
}
@keyframes important2 {
  from {
    margin-top: 50px;
    margin-bottom: 100px;
  }
  to {
    margin-top: 150px !important; /* ignored */
    margin-bottom: 50px;
  }
}

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

  • CSS Animations

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

Can I Use css-animation? Data on support for the css-animation feature across the major browsers from caniuse.

com.

Ρ‡Ρ‚ΠΎ это Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π² CSS

Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΡ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠ°

Анимация Π² Π²Π΅Π±Π΅ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΠ»Π°Π²Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π­Ρ‚ΠΈ состояния Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠ°ΠΌΠΈ. Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ увСличиваСтся Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅, Ρƒ Π½Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€Π°: Π² ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ малСньком ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ большом Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ…. ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ этими состояниями отрисуСт сам Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Если ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΡ‹.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π² Ρ€Π°Π·Π½Ρ‹Ρ… состояниях, синим подсвСчСны ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ

РаньшС ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· JavaScript. ΠšΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CSS. Ѐункция считаСтся ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π΅Π΅ ΠΏΠΎ-своСму ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ использования ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Π·Π΅Π»Π΅Π½Ρ‹ΠΌ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅. ЖСлтая ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для примСнСния Π½ΡƒΠΆΠ΅Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ прСфикс.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠΎΠ² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ Π½Π° Ρ„Π΅Π²Ρ€Π°Π»ΡŒ 2022 Π³ΠΎΠ΄Π°. Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΡ‹

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для создания Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ интСрфСйсы Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сайтов Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΌΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ двиТущийся элСмСнт

Π‘ ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

  • ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΈ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‰ΠΈΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π°;
  • изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ»Π°Π²Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ;
  • ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ элСмСнты Π½Π° страницС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ двиТутся, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ выполняСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ дСйствия;
  • Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ эффСкты ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ дСйствий. НапримСр, ΠΌΠΈΠ½ΠΈ-анимация Π²ΠΎΠ·Π»Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π»Π°ΠΉΠΊΠ° ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ.

КакиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΡƒ

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅ CSS-ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² выглядит Ρ‚Π°ΠΊ.

@keyframes <имя ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠ°> {
from: { описаниС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ состояния элСмСнта }
to: { описаниС ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ состояния элСмСнта }
}

ВмСсто from ΠΈ to ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 0% ΠΈ 100%, Π° Ссли Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ β€” Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ².

РасскаТСм, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

  • Имя ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠ°. Π­Ρ‚ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Когда ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ созданы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌ Π² описаниС стилСй для Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ элСмСнта. Он пСрСдаСтся ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ β€” Ρ‚Π°ΠΊ CSS Β«ΡƒΠ·Π½Π°Π΅Ρ‚Β», Ρ‡Ρ‚ΠΎ ΠΊ элСмСнту трСбуСтся ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ.
  • From ΠΈ to. Π‘Π»ΠΎΠ²Π° пСрСводятся ΠΊΠ°ΠΊ Β«ΠΎΡ‚Β» ΠΈ Β«Π΄ΠΎΒ» ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Π’ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках послС from указываСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС элСмСнта: Π΅Π³ΠΎ позиция, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, Ρ†Π²Π΅Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π’ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках послС to β€” соотвСтствСнно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ состояниС.
ΠžΠ±Ρ€Π°Π·Π΅Ρ† ΠΊΠΎΠ΄Π° ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠΎΠ². Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Когда анимация запустится, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ элСмСнта, Ρ‡Ρ‚ΠΎΠ±Ρ‹ «привСсти» Π΅Π³ΠΎ ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ состояния Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅.

  • ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹. ВмСсто from ΠΈ to Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ…. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 0% Π΄ΠΎ 100% ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ воспроизвСдСния Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ элСмСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ описанныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. НапримСр, Ссли Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:
33%: { width: 100px }

Ρ‚ΠΎ послС 33% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ Π΄Π»ΠΈΠ½Ρ‹ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΡˆΠΈΡ€ΠΈΠ½Π° элСмСнта Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° 100px.

ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ со слоТным ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ. ЗначСния, ΠΊΠ°ΠΊ ΠΈ Π² случаС с from ΠΈ to, ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ постСпСнно.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ созданный ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌ

Π§Ρ‚ΠΎΠ±Ρ‹ анимация Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°, ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ @keyframes Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ описанию стилСй для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ элСмСнта ΠΈΠ»ΠΈ ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏΡ‹. Π­Ρ‚ΠΎ описаниС называСтся сСлСктором β€” Π±Π»ΠΎΠΊΠΎΠΌ CSS-ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для элСмСнтов с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ характСристиками.

Π’ сСлСктор Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ описаниС Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ комплСксного свойства animation ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ…: animation-name, animation-duration ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ….

Π’ свойство animation Π»ΠΈΠ±ΠΎ animation-name пСрСдаСтся имя ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠ° β€” Ρ‚ΠΎΡ‚ самый ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ΠŸΠΎΡ‚ΠΎΠΌ указываСтся Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² сСкундах ΠΈΠ»ΠΈ миллисСкундах. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, количСство Π΅Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ², измСнСния ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ возмоТности.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΈ Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ. Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Когда страница запускаСтся, анимация Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ согласно Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ.

ИБКРА β€”
нСдСля знакомства
с Π΄ΠΈΠ·Π°ΠΉΠ½-профСссиями

бСсплатно

ИБКРА β€”
нСдСля знакомства
с Π΄ΠΈΠ·Π°ΠΉΠ½-профСссиями

7 Π΄Π½Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·ΠΎΠΆΠ³ΡƒΡ‚ Π² вас искру интСрСса
ΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ. ΠŸΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ€ΠΊΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь,
Π·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с вострСбованными профСссиями
ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Ρƒ, которая ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΠΌ.

Ρ€Π°Π·ΠΆΠ΅Ρ‡ΡŒ искру

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ руководство ΠΏΠΎ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² CSS с @keyframes

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Анимации ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² CSS ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠ΅ . Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов Π² CSS, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для самых Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ.

Но ΠΈΡ… Ρ‚Π°ΠΊΠΆΠ΅ часто Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚. Они Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²Ρ‹, ΠΈ Ссли Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ этих ΠΏΡ€ΠΈΡ‡ΡƒΠ΄, ΠΈΡ… использованиС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно нСприятным.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ углубимся Π² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ CSS. ΠœΡ‹ выясним, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΈ посмотрим, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ довольно ΡˆΠΈΠΊΠ°Ρ€Π½ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ. ✨

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠ°Ρ аудитория

Π­Ρ‚ΠΎ руководство написано для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² JavaScript, ΠΏΡ‹Ρ‚Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒΡΡ с CSS. Но ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ для всСх Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… с основами HTML/CSS.

Если Π²Ρ‹ довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π² CSS, Π²Ρ‹, вСроятно, Π·Π½Π°Π΅Ρ‚Π΅ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ освСщаСм, Π½ΠΎ я подСлюсь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ довольно интСрСсными ΠΈ малоизвСстными Π²Π΅Ρ‰Π°ΠΌΠΈ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ этого поста. πŸ˜„

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ опираСмся Π½Π° знания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ подСлились Π² Β«Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ руководствС ΠΏΠΎ CSS-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΒ».

Основная идСя Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² CSS Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ CSS.

НапримСр, здСсь ΠΌΡ‹ опрСдСляСм Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π°, которая ΠΏΠ»Π°Π²Π½ΠΎ измСняСт Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ элСмСнта ΠΎΡ‚ -100% Π΄ΠΎ 0% :

ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ @keyframes Π½ΡƒΠΆΠ½ΠΎ имя! Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ слайд-ΠΈΠ½ . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Анимация ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ сСлСкторам с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ анимация свойство:

(Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ панСль Β«Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Β», Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Π·Π½Π°Ρ‡ΠΎΠΊ Β Β .)

Как ΠΈ Π² случаС свойства ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° , анимация Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ сказали, Ρ‡Ρ‚ΠΎ анимация Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π»ΠΈΡ‚ΡŒΡΡ 1 сСкунду (1000 мс).

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ объявлСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π°ΡˆΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² ΠΈ Π΄ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ происходит сразу ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свойство установлСно.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько свойств Π² ΠΎΠ΄Π½ΠΎΠΌ объявлСнии Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Π’ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ интСрСсный ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ измСняСт нСсколько свойств:

Π’ Β«Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ руководствС ΠΏΠΎ CSS-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΒ» ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ всС ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… функциях синхронизации, встроСнных Π² CSS.

Π£ нас Π΅ΡΡ‚ΡŒ доступ ΠΊ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ синхронизации для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ². И, ΠΊΠ°ΠΊ ΠΈ Π² случаС с transition , Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ easy .

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ синхронизации Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ свойство:

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ анимация ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΊΠ°Π΄Ρ€Π°ΠΌ запускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ этим с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойство animation-iteration-count :

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Ρ€Π΅Π΄ΠΊΠΎ указываСтся Ρ†Π΅Π»ΠΎΠ΅ число, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ этому, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ пригодится: бСсконСчноС .

НапримСр, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для создания Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ счСтчика:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для счСтчиков ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ синхронизации , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ постоянным (хотя это нСсколько ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ β€” ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅!).

Помимо ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов ΠΎΡ‚ ΠΈ ΠΎΡ‚ Π΄ΠΎ , ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… шагов:

ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹ относятся ΠΊ прогрСссу Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. ΠΈΠ· Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просто синтаксичСский сахар? для 0% . А ΠΎΡ‚ Π΄ΠΎ это сахар для 100% .

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ функция синхронизации примСняСтся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡˆΠ°Π³Ρƒ . ΠœΡ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ замСдлСния для всСй Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

На этой ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅ ΠΎΠ±Π° спиннСра ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ 1 ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π·Π° 2 сСкунды. Но multi-step-spin Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π° 4 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… шага, ΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡˆΠ°Π³Ρƒ примСняСтся функция синхронизации:

К соТалСнию, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² CSS, хотя это ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ API Π²Π΅Π±-Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. . Если Π²Ρ‹ оказались Π² ситуации, ΠΊΠΎΠ³Π΄Π° пошаговоС смягчСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, я Π±Ρ‹ посовСтовал ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ!

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ элСмСнт "Π΄Ρ‹ΡˆΠ°Π»", Π½Π°Π΄ΡƒΠ²Π°ΡΡΡŒ ΠΈ ΡΠ΄ΡƒΠ²Π°ΡΡΡŒ.

ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ 3-ΡˆΠ°Π³ΠΎΠ²ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ:

Он Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² 1,5 Ρ€Π°Π·Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ достигаСт этого ΠΏΠΈΠΊΠ°, ΠΎΠ½ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡΡΡŒ Π΄ΠΎ 1x.

Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ элСгантный способ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ эффСкта. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство animation-direction :

animation-direction управляСт порядком ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” normal , ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅Π΅ΡΡ ΠΎΡ‚ 0% Π΄ΠΎ 100% Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ . Π­Ρ‚ΠΎ запустит Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС, ΠΎΡ‚ 100% Π΄ΠΎ 0%.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… итСрациях.

ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ 1 Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, которая увСличиваСтся ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ, ΠΌΡ‹ устанавливаСм Π½Π°ΡˆΡƒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅ΠΌ Π΅Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, заставляя Π΅Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ.

Половина ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ наша анимация дыхания длилась 4 сСкунды. Однако ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ Π½Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ, ΠΌΡ‹ сократили ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π΄Π²ΠΎΠ΅, Π΄ΠΎ 2 сСкунд.

Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ каТдая итСрация выполняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ . ВсСгда Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ 2 сСкунды, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вырасти, ΠΈ 2 сСкунды, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒΡΡ. РаньшС Ρƒ нас Π±Ρ‹Π»Π° ΠΎΠ΄Π½Π° 4-сСкундная анимация. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ 2-сСкундная анимация, для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ трСбуСтся 2 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрСли мноТСство свойств Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, ΠΈ Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ!

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΊΠ°ΠΊ ΠΈ Π² случаС с transition , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сокращСниС animation для объСдинСния всСх этих свойств.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ:

Π•ΡΡ‚ΡŒ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ: порядок Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния. По большСй части эти свойства ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² любом порядкС. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

БущСствуСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: анимация-Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° , свойство, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ вскорС ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ΄Ρ‚ΠΈ послС Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π° свойства ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ значСния (миллисСкунды/сСкунды).

По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈΠ· сокращСния:

ВСроятно, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ аспСктом Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² являСтся Ρ€Π΅ΠΆΠΈΠΌΡ‹ Π·Π°Π»ΠΈΠ²ΠΊΠΈ . Они ΡΠ²Π»ΡΡŽΡ‚ΡΡ самым большим прСпятствиСм Π½Π° нашСм ΠΏΡƒΡ‚ΠΈ ΠΊ увСрСнности Π² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€Π°Ρ….

НачнСм с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш элСмСнт исчСзал. Π‘Π°ΠΌΠ° анимация Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° заканчиваСтся, элСмСнт снова появляСтся:

Если Π±Ρ‹ ΠΌΡ‹ построили Π³Ρ€Π°Ρ„ΠΈΠΊ нСпрозрачности элСмСнта Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΎΠ½ выглядСл Π±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

ΠŸΠΎΡ‡Π΅ΠΌΡƒ элСмСнт возвращаСтся ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΉ видимости? Π§Ρ‚ΠΎ ΠΆ, объявлСния Π² Π±Π»ΠΎΠΊΠ°Ρ… ΠΎΡ‚ ΠΈ ΠΎΡ‚ Π΄ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя выполнСния Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ .

По истСчСнии 1000 мс анимация упаковываСтся ΠΈ отправляСтся Π² ΠΏΡƒΡ‚ΡŒ. ОбъявлСния Π² Π±Π»ΠΎΠΊΠ΅ с ΠΏΠΎ Ρ€Π°ΡΡΠ΅ΠΈΠ²Π°ΡŽΡ‚ΡΡ, оставляя наш элСмСнт с Π»ΡŽΠ±Ρ‹ΠΌΠΈ объявлСниями CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π½ΠΈΠ³Π΄Π΅ большС Π½Π΅ устанавливали Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ для этого элСмСнта, ΠΎΠ½ возвращаСтся ΠΊ своСму Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ( 1 ).

Один ΠΈΠ· способов Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ β€” Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ объявлСниС opacity Π² сСлСктор .box :

Пока выполняСтся анимация, объявлСния Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ @keyframes ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ объявлСниСм opacity Π² .box сСлСктор. Однако, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ анимация Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, это объявлСниС срабатываСт ΠΈ сохраняСт ΠΏΠΎΠ»Π΅ скрытым.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°?

Π’ CSS ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π½Π° основС «спСцифики» сСлСктора. Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ ID ( #login-form ) Π²Ρ‹ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π±ΠΈΡ‚Π²Ρƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса ( .thing ).

А ΠΊΠ°ΠΊ насчСт Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ²? Π’ Ρ‡Π΅ΠΌ ΠΈΡ… спСцифика?

ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ β€” Π½Π΅ совсСм ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ способ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± этом; вмСсто этого Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ происхоТдСнии каскада .

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ наш CSS Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свойства элСмСнта соотвСтствовали Π±Π»ΠΎΠΊΡƒ с ΠΏΠΎ , Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ это Π»ΡƒΡ‡ΡˆΠΈΠΉ способ?

Бсылка Π½Π° Π΄Π°Π½Π½ΡƒΡŽ Ρ€ΡƒΠ±Ρ€ΠΈΠΊΡƒ

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€Π²Π°Ρ€Π΄ΠΎΠ²

ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ объявлСния, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ анимация-Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅-Ρ€Π΅ΠΆΠΈΠΌ :

анимация-Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅-Ρ€Π΅ΠΆΠΈΠΌ позволяСт Π½Π°ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, Π²ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ .

"Ρ„ΠΎΡ€Π²Π°Ρ€Π΄Ρ‹" - ΠΎΡ‡Π΅Π½ΡŒ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π½ΠΎ, надСюсь, Π΅Π³ΠΎ Π²ΠΈΠ΄ Π½Π° этом Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ сдСлаСт Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ понятным!

Когда анимация закончится, animation-fill-mode: forwards скопируСт/вставит объявлСния Π² послСдний Π±Π»ΠΎΠΊ, сохраняя ΠΈΡ… Π²ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Бсылка Π½Π° этот Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ

ΠœΡ‹ Π½Π΅ всСгда Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наши Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ сразу! Как ΠΈ Π² случаС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства animation-delay .

К соТалСнию, ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ:

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ полсСкунды элСмСнт Π²ΠΈΠ΄Π΅Π½ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ!

CSS Π² Π±Π»ΠΎΠΊΠ°Ρ… с ΠΈ с ΠΏΠΎ примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя выполнСния Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. К соТалСнию, анимация-Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π½Π΅ считаСтся. Π˜Ρ‚Π°ΠΊ, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ сСкунды CSS Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠ· ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ Π½Π΅ сущСствуСт.

animation-fill-mode ΠΈΠΌΠ΅Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ здСсь ΠΏΠΎΠΌΠΎΡ‡ΡŒ: Π½Π°Π·Π°Π΄ . Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ CSS ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π°Π·Π°Π΄ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ .

Β«Π’ΠΏΠ΅Ρ€Π΅Π΄Β» ΠΈ Β«Π½Π°Π·Π°Π΄Β» значСния ΠΏΡƒΡ‚Π°ΡŽΡ‚, Π½ΠΎ Π²ΠΎΡ‚ аналогия, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ: ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ссли Π±Ρ‹ ΠΌΡ‹ записали сСанс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π°Π·Π°Π΄ Π² Π²ΠΈΠ΄Π΅ΠΎ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π°Π·Π°Π΄, Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ анимация Π½Π°Ρ‡Π°Π»Π°ΡΡŒ, ΠΈΠ»ΠΈ Π²ΠΏΠ΅Ρ€Π΅Π΄, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ анимация Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π°ΡΡŒ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ анимация ΡΠΎΡ…Ρ€Π°Π½ΡΠ»Π°ΡΡŒ Π½Π° Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π° Π½Π°Π·Π°Π΄? ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сохраняСтся Π² ΠΎΠ±ΠΎΠΈΡ… направлСниях:

Π›ΠΈΡ‡Π½ΠΎ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈ Π±Ρ‹Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π­Ρ‚ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятно! Π₯отя ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ Π±Ρ‹Π»ΠΎ установлСно ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CSS.

Как ΠΈ всС свойства Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ обсуТдаСм, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ сокращСнного салата:

Анимации ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² сами ΠΏΠΎ сСбС достаточно ΠΊΡ€ΡƒΡ‚Ρ‹, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ смСшиваСм ΠΈΡ… с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ CSS (Ρ‚Π°ΠΊΠΆΠ΅ извСстными ΠΊΠ°ΠΊ настраиваСмыС свойства CSS), всС становится ⚑️ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ уровня ⚑️.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ ΠΏΡ€Ρ‹Π³Π°ΡŽΡ‰Π΅Π³ΠΎ мяча, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ Π² этом ΡƒΡ€ΠΎΠΊΠ΅:

ΠšΡƒΠ± Π‘Π΅Π·ΡŒΠ΅?

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ отскока Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ рСалистичной, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ синхронизации, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ кубичСский-бСзьС .

Π‘ΠΊΠΎΡ€ΠΎ я ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ Π² Π±Π»ΠΎΠ³Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎ ΠΌΠ°Π³ΠΈΠΈ ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Π‘Π΅Π·ΡŒΠ΅ β€” ΠΏΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ΡΡŒ Π½Π° мою рассылку, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π°! πŸ˜„

CSS-Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ, Π½ΠΎ эта анимация всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ отскок элСмСнта Π½Π° 20 пиксСлСй. Π Π°Π·Π²Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ, Ссли Π±Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ элСмСнты ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΡƒΡŽ «высоту отскока»?

Π‘ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ CSS ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ это:

Наша анимация @keyframes Π±Ρ‹Π»Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° ​​таким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вмСсто отскока ΠΊ -20px ΠΎΠ½Π° обращаСтся ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ свойства --bounce-offset . И ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это свойство ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π΅, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… отскакиваСт Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ суммы.

Π­Ρ‚Π° стратСгия позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅, настраиваСмыС Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ². Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° React!

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ значСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ calc

Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ мСня бСспокоит Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ translateY ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ элСмСнт Π²Π½ΠΈΠ·, ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ элСмСнт Π²Π²Π΅Ρ€Ρ…. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ элСмСнт Π²Π²Π΅Ρ€Ρ…, поэтому ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Но это Π΄Π΅Ρ‚Π°Π»ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ . Когда я Ρ…ΠΎΡ‡Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ эту Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, странно, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ CSS Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ сСмантичСскими. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ --bounce-offset Π² ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, я Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ calc , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· прСдоставлСнного значСния Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… нашСго @keyframes Π² -rule:

ΠœΡ‹ опрСдСляСм эту Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π½ΠΎ, вСроятно, Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Β«ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΡƒΡŽΒ» сторону Π²Π΅Ρ‰Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ приятной Π² использовании, Π΄Π°ΠΆΠ΅ Ссли это Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ услоТняСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.

calc позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ API для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ². πŸ’―

Боздавая ΠΏΠ°Ρ€Ρƒ послСдних дСмонстраций, я понял, насколько измСнился CSS Π·Π° послСдниС нСсколько Π»Π΅Ρ‚!

Он стал нСвСроятным языком , Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ. Π― люблю ΠΏΠΈΡΠ°Ρ‚ΡŒ CSS.

И Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ с языком. Π― Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π» с сотнями Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находят CSS Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ ΠΈ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ. Иногда ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ CSS Π²Π΅Π΄Π΅Ρ‚ сСбя ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ! Π­Ρ‚ΠΎ каТСтся Ρ‚Π°ΠΊΠΈΠΌ Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

Π£ мСня Π΅ΡΡ‚ΡŒ тСория Π½Π° этот счСт: Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ JS, большая Ρ‡Π°ΡΡ‚ΡŒ CSS являСтся нСявной ΠΈ закулисной. НСдостаточно Π·Π½Π°Ρ‚ΡŒ свойств ; Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΈΠΌΠΈ.

ПослСдний Π³ΠΎΠ΄ я посвятил Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ курсом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ CSS Π½Π° Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌ ΠΈ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Если Π²Ρ‹ нашли этот пост Π² Π±Π»ΠΎΠ³Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Π²Π°ΠΌ понравится этот курс.

Он называСтся CSS для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² JavaScript ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС Π½Π° css-for-js.dev.

ПослСднСС обновлСниС

28 сСнтября 2021 Π³.

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

CSS ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ каскадныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй. Π­Ρ‚ΠΎ язык Ρ‚Π°Π±Π»ΠΈΡ† стилСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания внСшнСго Π²ΠΈΠ΄Π° ΠΈ форматирования Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, написанного Π½Π° языкС Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Он прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ HTML, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с HTML для измСнСния стиля Π²Π΅Π±-страниц ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ попытаСмся ΠΏΠΎΠ½ΡΡ‚ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ CSS-Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ β€” ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ CSS?

Π’ CSS для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ большС контроля Π½Π°Π΄ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. Анимация создаСтся ΠΏΡƒΡ‚Π΅ΠΌ постСпСнного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ стиля ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ стили CSS ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

Бинтаксис:

@keyframes [имя]{

Β Β Β Β Β Β ΠΎΡ‚{

Β Β Β Β Β Β Β Β [стили];

Β Β Β Β Β Β }

Β Β Β Β Β Β Π΄ΠΎ{

Β Β Β Β Β Β Β Β [стили];

Β Β Β Β Β Β }

  • Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ [имя] опрСдСляСт имя Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π²Π°Ρ‚ΡŒ это ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.
  • Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ [styles] опрСдСляСт свойства стиля CSS.

Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π½Π° Π½ΠΈΡ… Π½Π΅Ρ‚ сСлСкторов. Они находятся Π² ΠΊΠΎΡ€Π½Π΅ страницы CSS.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ синхронизации ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ²

Ѐункция синхронизации ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для управлСния ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания:

  • Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ: это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ постоянным ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.
  • Π›Π΅Π³ΠΊΠΎΡΡ‚ΡŒ: это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ анимация Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠ½Ρ†ΠΎΠΌ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ снова замСдлится.
  • Ease-in: ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° easy-in, Π½ΠΎ анимация заканчиваСтся быстро.
  • Π›Π΅Π³ΠΊΠΎΡΡ‚ΡŒ: ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ. Π Π°Π·Π½ΠΈΡ†Π° лишь Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ начинаСтся быстро.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² CSS 1

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создали ΠΏΠΎΠ»Π΅ высотой ΠΈ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ 200 пиксСлСй. Π¦Π²Π΅Ρ‚ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ красный. БоздаСтся ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΊΠ°Π΄Ρ€ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«myframesΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ высоту Π±Π»ΠΎΠΊΠ° Π΄ΠΎ 500 пиксСлСй.

Имя Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ имя Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ @keyframes, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ элСмСнту.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, сколько сСкунд ΠΈΠ»ΠΈ миллисСкунд Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ анимация для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

Ѐункция синхронизации опрСдСляСт, ΠΊΠ°ΠΊ анимация Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Ρ‚. Π΅. Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ плавности.

Число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, сколько Ρ€Π°Π· Ρ†ΠΈΠΊΠ» Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π΄ остановкой.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² CSS 2

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.