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

HTML ΠΈ CSS с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°

ПсСвдокласс :hover срабатываСт, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° элСмСнт ΠΌΡ‹ΡˆΡŒΡŽ, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ.

Π­Ρ‚ΠΎΡ‚ ΡΡ‚ΠΈΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ относящимися ΠΊ ссылкам псСвдоклассами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ :link, :visited ΠΈ :active, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ порядкС. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ :hover Π΄ΠΎ ΠΏΡ€Π°Π²ΠΈΠ» :link ΠΈ :visited, Π½ΠΎ послС :active, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² LVHA-порядкС: :link β€” :visited β€” :hover β€” :active.

ПсСвдокласс :hover ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ псСвдоэлСмСнту.

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Firefox, Internet Explorer, Safari, Opera ΠΈΠ»ΠΈ Chrome, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ, ΠΊΠΎΠ³Π΄Π° курсор (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ) наводится Π½Π° элСмСнт.

ЗамСчания ΠΏΠΎ использованию

На сСнсорных экранах :hover ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’ зависимости ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, псСвдокласс :hover ΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя послС наТатия Π½Π° элСмСнта, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ коснулся элСмСнта Π΄ΠΎ наТатия Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт. Π’Π°ΠΊ ΠΊΠ°ΠΊ сСнсорныС устройства ΠΎΡ‡Π΅Π½ΡŒ распространСны, Ρ‚ΠΎ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, доступный Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΡ… устройствах.

ΠŸΡΠ΅Π²Π΄ΠΎΠΊΠ»Π°ΡΡΡ‹

Бинтаксис

/* Selects any <a> element when "hovered" */
a:hover {
  color: orange;
}

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

ОписаниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню

Π‘ псСвдоклассом :hover Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС каскадныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π­Ρ‚Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню Π½Π° чистом CSS (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° CSS, Π±Π΅Π· использования JavaScript). Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ этой Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ β€” созданиС ΠΏΡ€Π°Π²ΠΈΠ», Ρ‚ΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡˆΠ΅Π³ΠΎ:

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, основанный Π½Π° CSS.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. ГалСрСя ΠΏΠΎΠ»Π½ΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π²ΡŒΡŽ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ псСвдокласс :hover, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π°Π»Π΅Ρ€Π΅ΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠ»Π½ΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° Π½ΠΈΡ… ΠΌΡ‹ΡˆΠΈ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ это Π΄Π΅ΠΌΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>hover</title>
    <style>
      a:link {
        color: #0000d0; /* Π¦Π²Π΅Ρ‚ ссылок */
        padding: 2px; /* Поля Π²ΠΎΠΊΡ€ΡƒΠ³ тСкста */
      }
      a:hover {
        background: #786b59; /* Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΏΠΎΠ΄ ссылкой */
        color: #ffe; /* Π¦Π²Π΅Ρ‚ ссылки */
      }
    </style>
  </head>
  <body>
    <p><a href="1.html">Бсылка 1</a></p>
    <p><a href="2.html">Бсылка 2</a></p>
    <p><a href="3.html">Бсылка 3</a></p>
  </body>
</html>

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ псСвдокласс :hover примСняСтся ΠΊ ссылкС (Ρ‚Π΅Π³Ρƒ <a>), ΠΏΡ€ΠΈ этом мСняСтся Ρ†Π²Π΅Ρ‚ ссылки ΠΈ Ρ„ΠΎΠ½Π° ΠΏΠΎΠ΄ Π½Π΅ΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>hover</title>
    <style>
      ul {
        width: 180px; /* Π¨ΠΈΡ€ΠΈΠ½Π° мСню */
        list-style: none; /* Для списка ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ */
        margin: 0; /* НСт отступов Π²ΠΎΠΊΡ€ΡƒΠ³ */
        padding: 0; /* Π£Π±ΠΈΡ€Π°Π΅ΠΌ поля Π²ΠΎΠΊΡ€ΡƒΠ³ тСкста */
        font-family: Arial, sans-serif; /* Π ΡƒΠ±Π»Π΅Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ для тСкста мСню */
        font-size: 10pt; /* Π Π°Π·ΠΌΠ΅Ρ€ Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню */
      }
      li ul {
        position: absolute; /* ПодмСню ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ */
        display: none; /* Π‘ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ подмСню */
        margin-left: 165px; /* Π‘Π΄Π²ΠΈΠ³Π°Π΅ΠΌ подмСню Π²ΠΏΡ€Π°Π²ΠΎ */
        margin-top: -2em; /* Π‘Π΄Π²ΠΈΠ³Π°Π΅ΠΌ подмСню Π²Π²Π΅Ρ€Ρ… */
      }
      li a {
        display: block; /* Бсылка ΠΊΠ°ΠΊ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ элСмСнт */
        padding: 5px; /* Поля Π²ΠΎΠΊΡ€ΡƒΠ³ надписи */
        text-decoration: none; /* ΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ Ρƒ ссылок ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ */
        color: #666; /* Π¦Π²Π΅Ρ‚ тСкста */
        border: 1px solid #ccc; /* Π Π°ΠΌΠΊΠ° Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню */
        background-color: #f0f0f0; /* Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° */
        border-bottom: none; /* Π“Ρ€Π°Π½ΠΈΡ†Ρƒ снизу Π½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ */
      }
      li a:hover {
        color: #ffe; /* Π¦Π²Π΅Ρ‚ тСкста Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° */
        background-color: #5488af; /* Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° */
      }
      li:hover ul {
        /* ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° курсором ΠΌΡ‹ΡˆΠΈ отобраТаСтся подмСню */
        display: block;
      }
      .
brd { border-bottom: 1px solid #ccc; /* Линия снизу */ } </style> </head> <body> <ul> <li> <a href="russian.html">Русская кухня</a> <ul> <li><a href="linkr1.html">БСфстроганов</a></li> <li><a href="linkr2.html">Π“ΡƒΡΡŒ с яблоками</a></li> <li> <a href="linkr3.html">ΠšΡ€ΡƒΠΏΠ΅Π½ΠΈΠΊ новгородский</a> </li> <li> <a href="linkr4.html" >Π Π°ΠΊΠΈ ΠΏΠΎ-русски</a > </li> </ul> </li> <li> <a href="ukrainian.html">Украинская кухня</a> <ul> <li><a href="linku1.html">Π’Π°Ρ€Π΅Π½ΠΈΠΊΠΈ</a></li> <li> <a href="linku2.html">Π–Π°Ρ€ΠΊΠΎΠ΅ ΠΏΠΎ-Ρ…Π°Ρ€ΡŒΠΊΠΎΠ²ΡΠΊΠΈ</a> </li> <li> <a href="linku3.
html">ΠšΠ°ΠΏΡƒΡΡ‚Π½ΡΠΊ чСрниговский</a> </li> <li> <a href="linku4.html" >ΠŸΠΎΡ‚Π°ΠΏΡ†Ρ‹ с ΠΏΠΎΠΌΠΈΠ΄ΠΎΡ€Π°ΠΌΠΈ</a > </li> </ul> </li> <li> <a href="caucasus.html">Кавказская кухня</a> <ul> <li><a href="linkc1.html">Π‘ΡƒΠΏ-Ρ…Π°Ρ€Ρ‡ΠΎ</a></li> <li><a href="linkc2.html">Π›ΠΈΠ»ΠΈΠ±Π΄ΠΆ</a></li> <li><a href="linkc3.html">Π§ΠΈΡ…ΠΈΡ€Ρ‚ΠΌΠ°</a></li> <li> <a href="linkc4.html">Π¨Π°ΡˆΠ»Ρ‹ΠΊ</a> </li> </ul> </li> <li> <a href="asia.html" >ΠšΡƒΡ…Π½Ρ Π‘Ρ€Π΅Π΄Π½Π΅ΠΉ Азии</a > </li> </ul> </body> </html>

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ псСвдокласс :hover добавляСтся ΠΊ элСмСнту списка (Ρ‚Π΅Π³ <li>) для создания Π΄Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ мСню. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Бсылки

  • ПсСвдо-класс :hover MDN (рус.)

HTML ΠΈ CSS с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°

ПсСвдокласс :hover срабатываСт, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° элСмСнт ΠΌΡ‹ΡˆΡŒΡŽ, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ.

Π­Ρ‚ΠΎΡ‚ ΡΡ‚ΠΈΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ относящимися ΠΊ ссылкам псСвдоклассами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ :link, :visited ΠΈ :active, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ порядкС. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ :hover Π΄ΠΎ ΠΏΡ€Π°Π²ΠΈΠ» :link ΠΈ :visited, Π½ΠΎ послС :active, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² LVHA-порядкС: :link β€” :visited β€” :hover β€” :active.

ПсСвдокласс :hover ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ псСвдоэлСмСнту.

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Firefox, Internet Explorer, Safari, Opera ΠΈΠ»ΠΈ Chrome, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ, ΠΊΠΎΠ³Π΄Π° курсор (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ) наводится Π½Π° элСмСнт.

ЗамСчания ΠΏΠΎ использованию

На сСнсорных экранах :hover ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’ зависимости ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, псСвдокласс :hover ΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя послС наТатия Π½Π° элСмСнта, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ коснулся элСмСнта Π΄ΠΎ наТатия Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт. Π’Π°ΠΊ ΠΊΠ°ΠΊ сСнсорныС устройства ΠΎΡ‡Π΅Π½ΡŒ распространСны, Ρ‚ΠΎ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, доступный Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΡ… устройствах.

ΠŸΡΠ΅Π²Π΄ΠΎΠΊΠ»Π°ΡΡΡ‹

Бинтаксис

/* Selects any <a> element when "hovered" */
a:hover {
  color: orange;
}

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

ОписаниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню

Π‘ псСвдоклассом :hover Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС каскадныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π­Ρ‚Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню Π½Π° чистом CSS (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° CSS, Π±Π΅Π· использования JavaScript). Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ этой Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ β€” созданиС ΠΏΡ€Π°Π²ΠΈΠ», Ρ‚ΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡˆΠ΅Π³ΠΎ:

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, основанный Π½Π° CSS.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. ГалСрСя ΠΏΠΎΠ»Π½ΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π²ΡŒΡŽ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ псСвдокласс :hover, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π°Π»Π΅Ρ€Π΅ΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠ»Π½ΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° Π½ΠΈΡ… ΠΌΡ‹ΡˆΠΈ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ это Π΄Π΅ΠΌΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>hover</title>
    <style>
      a:link {
        color: #0000d0; /* Π¦Π²Π΅Ρ‚ ссылок */
        padding: 2px; /* Поля Π²ΠΎΠΊΡ€ΡƒΠ³ тСкста */
      }
      a:hover {
        background: #786b59; /* Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΏΠΎΠ΄ ссылкой */
        color: #ffe; /* Π¦Π²Π΅Ρ‚ ссылки */
      }
    </style>
  </head>
  <body>
    <p><a href="1.html">Бсылка 1</a></p>
    <p><a href="2.html">Бсылка 2</a></p>
    <p><a href="3.html">Бсылка 3</a></p>
  </body>
</html>

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ псСвдокласс :hover примСняСтся ΠΊ ссылкС (Ρ‚Π΅Π³Ρƒ <a>), ΠΏΡ€ΠΈ этом мСняСтся Ρ†Π²Π΅Ρ‚ ссылки ΠΈ Ρ„ΠΎΠ½Π° ΠΏΠΎΠ΄ Π½Π΅ΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>hover</title>
    <style>
      ul {
        width: 180px; /* Π¨ΠΈΡ€ΠΈΠ½Π° мСню */
        list-style: none; /* Для списка ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ */
        margin: 0; /* НСт отступов Π²ΠΎΠΊΡ€ΡƒΠ³ */
        padding: 0; /* Π£Π±ΠΈΡ€Π°Π΅ΠΌ поля Π²ΠΎΠΊΡ€ΡƒΠ³ тСкста */
        font-family: Arial, sans-serif; /* Π ΡƒΠ±Π»Π΅Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ для тСкста мСню */
        font-size: 10pt; /* Π Π°Π·ΠΌΠ΅Ρ€ Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню */
      }
      li ul {
        position: absolute; /* ПодмСню ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ */
        display: none; /* Π‘ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ подмСню */
        margin-left: 165px; /* Π‘Π΄Π²ΠΈΠ³Π°Π΅ΠΌ подмСню Π²ΠΏΡ€Π°Π²ΠΎ */
        margin-top: -2em; /* Π‘Π΄Π²ΠΈΠ³Π°Π΅ΠΌ подмСню Π²Π²Π΅Ρ€Ρ… */
      }
      li a {
        display: block; /* Бсылка ΠΊΠ°ΠΊ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ элСмСнт */
        padding: 5px; /* Поля Π²ΠΎΠΊΡ€ΡƒΠ³ надписи */
        text-decoration: none; /* ΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ Ρƒ ссылок ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ */
        color: #666; /* Π¦Π²Π΅Ρ‚ тСкста */
        border: 1px solid #ccc; /* Π Π°ΠΌΠΊΠ° Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню */
        background-color: #f0f0f0; /* Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° */
        border-bottom: none; /* Π“Ρ€Π°Π½ΠΈΡ†Ρƒ снизу Π½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ */
      }
      li a:hover {
        color: #ffe; /* Π¦Π²Π΅Ρ‚ тСкста Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° */
        background-color: #5488af; /* Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° */
      }
      li:hover ul {
        /* ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° курсором ΠΌΡ‹ΡˆΠΈ отобраТаСтся подмСню */
        display: block;
      }
      . brd {
        border-bottom: 1px solid #ccc; /* Линия снизу */
      }
    </style>
  </head>
  <body>
    <ul>
      <li>
        <a href="russian.html">Русская кухня</a>
        <ul>
          <li><a href="linkr1.html">БСфстроганов</a></li>
          <li><a href="linkr2.html">Π“ΡƒΡΡŒ с яблоками</a></li>
          <li>
            <a href="linkr3.html">ΠšΡ€ΡƒΠΏΠ΅Π½ΠΈΠΊ новгородский</a>
          </li>
          <li>
            <a href="linkr4.html"
              >Π Π°ΠΊΠΈ ΠΏΠΎ-русски</a
            >
          </li>
        </ul>
      </li>
      <li>
        <a href="ukrainian.html">Украинская кухня</a>
        <ul>
          <li><a href="linku1.html">Π’Π°Ρ€Π΅Π½ΠΈΠΊΠΈ</a></li>
          <li>
            <a href="linku2.html">Π–Π°Ρ€ΠΊΠΎΠ΅ ΠΏΠΎ-Ρ…Π°Ρ€ΡŒΠΊΠΎΠ²ΡΠΊΠΈ</a>
          </li>
          <li>
            <a href="linku3. html">ΠšΠ°ΠΏΡƒΡΡ‚Π½ΡΠΊ чСрниговский</a>
          </li>
          <li>
            <a href="linku4.html"
              >ΠŸΠΎΡ‚Π°ΠΏΡ†Ρ‹ с ΠΏΠΎΠΌΠΈΠ΄ΠΎΡ€Π°ΠΌΠΈ</a
            >
          </li>
        </ul>
      </li>
      <li>
        <a href="caucasus.html">Кавказская кухня</a>
        <ul>
          <li><a href="linkc1.html">Π‘ΡƒΠΏ-Ρ…Π°Ρ€Ρ‡ΠΎ</a></li>
          <li><a href="linkc2.html">Π›ΠΈΠ»ΠΈΠ±Π΄ΠΆ</a></li>
          <li><a href="linkc3.html">Π§ΠΈΡ…ΠΈΡ€Ρ‚ΠΌΠ°</a></li>
          <li>
            <a href="linkc4.html">Π¨Π°ΡˆΠ»Ρ‹ΠΊ</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="asia.html"
          >ΠšΡƒΡ…Π½Ρ Π‘Ρ€Π΅Π΄Π½Π΅ΠΉ Азии</a
        >
      </li>
    </ul>
  </body>
</html>

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ псСвдокласс :hover добавляСтся ΠΊ элСмСнту списка (Ρ‚Π΅Π³ <li>) для создания Π΄Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ мСню. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Бсылки

  • ПсСвдо-класс :hover MDN (рус.)

HTML ΠΈ CSS с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°

ПсСвдокласс :hover срабатываСт, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° элСмСнт ΠΌΡ‹ΡˆΡŒΡŽ, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ.

Π­Ρ‚ΠΎΡ‚ ΡΡ‚ΠΈΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ относящимися ΠΊ ссылкам псСвдоклассами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ :link, :visited ΠΈ :active, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ порядкС. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ :hover Π΄ΠΎ ΠΏΡ€Π°Π²ΠΈΠ» :link ΠΈ :visited, Π½ΠΎ послС :active, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² LVHA-порядкС: :link β€” :visited β€” :hover β€” :active.

ПсСвдокласс :hover ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ псСвдоэлСмСнту.

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Firefox, Internet Explorer, Safari, Opera ΠΈΠ»ΠΈ Chrome, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ, ΠΊΠΎΠ³Π΄Π° курсор (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ) наводится Π½Π° элСмСнт.

ЗамСчания ΠΏΠΎ использованию

На сСнсорных экранах :hover ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’ зависимости ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, псСвдокласс :hover ΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя послС наТатия Π½Π° элСмСнта, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ коснулся элСмСнта Π΄ΠΎ наТатия Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт. Π’Π°ΠΊ ΠΊΠ°ΠΊ сСнсорныС устройства ΠΎΡ‡Π΅Π½ΡŒ распространСны, Ρ‚ΠΎ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, доступный Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΡ… устройствах.

ΠŸΡΠ΅Π²Π΄ΠΎΠΊΠ»Π°ΡΡΡ‹

Бинтаксис

/* Selects any <a> element when "hovered" */
a:hover {
  color: orange;
}

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

ОписаниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню

Π‘ псСвдоклассом :hover Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС каскадныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π­Ρ‚Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню Π½Π° чистом CSS (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° CSS, Π±Π΅Π· использования JavaScript). Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ этой Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ β€” созданиС ΠΏΡ€Π°Π²ΠΈΠ», Ρ‚ΠΈΠΏΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡˆΠ΅Π³ΠΎ:

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, основанный Π½Π° CSS.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. ГалСрСя ΠΏΠΎΠ»Π½ΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π²ΡŒΡŽ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ псСвдокласс :hover, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π°Π»Π΅Ρ€Π΅ΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠ»Π½ΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° Π½ΠΈΡ… ΠΌΡ‹ΡˆΠΈ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ это Π΄Π΅ΠΌΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>hover</title>
    <style>
      a:link {
        color: #0000d0; /* Π¦Π²Π΅Ρ‚ ссылок */
        padding: 2px; /* Поля Π²ΠΎΠΊΡ€ΡƒΠ³ тСкста */
      }
      a:hover {
        background: #786b59; /* Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΏΠΎΠ΄ ссылкой */
        color: #ffe; /* Π¦Π²Π΅Ρ‚ ссылки */
      }
    </style>
  </head>
  <body>
    <p><a href="1.html">Бсылка 1</a></p>
    <p><a href="2.html">Бсылка 2</a></p>
    <p><a href="3.html">Бсылка 3</a></p>
  </body>
</html>

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ псСвдокласс :hover примСняСтся ΠΊ ссылкС (Ρ‚Π΅Π³Ρƒ <a>), ΠΏΡ€ΠΈ этом мСняСтся Ρ†Π²Π΅Ρ‚ ссылки ΠΈ Ρ„ΠΎΠ½Π° ΠΏΠΎΠ΄ Π½Π΅ΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>hover</title>
    <style>
      ul {
        width: 180px; /* Π¨ΠΈΡ€ΠΈΠ½Π° мСню */
        list-style: none; /* Для списка ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ */
        margin: 0; /* НСт отступов Π²ΠΎΠΊΡ€ΡƒΠ³ */
        padding: 0; /* Π£Π±ΠΈΡ€Π°Π΅ΠΌ поля Π²ΠΎΠΊΡ€ΡƒΠ³ тСкста */
        font-family: Arial, sans-serif; /* Π ΡƒΠ±Π»Π΅Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ для тСкста мСню */
        font-size: 10pt; /* Π Π°Π·ΠΌΠ΅Ρ€ Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню */
      }
      li ul {
        position: absolute; /* ПодмСню ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ */
        display: none; /* Π‘ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ подмСню */
        margin-left: 165px; /* Π‘Π΄Π²ΠΈΠ³Π°Π΅ΠΌ подмСню Π²ΠΏΡ€Π°Π²ΠΎ */
        margin-top: -2em; /* Π‘Π΄Π²ΠΈΠ³Π°Π΅ΠΌ подмСню Π²Π²Π΅Ρ€Ρ… */
      }
      li a {
        display: block; /* Бсылка ΠΊΠ°ΠΊ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ элСмСнт */
        padding: 5px; /* Поля Π²ΠΎΠΊΡ€ΡƒΠ³ надписи */
        text-decoration: none; /* ΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ Ρƒ ссылок ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ */
        color: #666; /* Π¦Π²Π΅Ρ‚ тСкста */
        border: 1px solid #ccc; /* Π Π°ΠΌΠΊΠ° Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню */
        background-color: #f0f0f0; /* Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° */
        border-bottom: none; /* Π“Ρ€Π°Π½ΠΈΡ†Ρƒ снизу Π½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ */
      }
      li a:hover {
        color: #ffe; /* Π¦Π²Π΅Ρ‚ тСкста Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° */
        background-color: #5488af; /* Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° */
      }
      li:hover ul {
        /* ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° курсором ΠΌΡ‹ΡˆΠΈ отобраТаСтся подмСню */
        display: block;
      }
      . brd {
        border-bottom: 1px solid #ccc; /* Линия снизу */
      }
    </style>
  </head>
  <body>
    <ul>
      <li>
        <a href="russian.html">Русская кухня</a>
        <ul>
          <li><a href="linkr1.html">БСфстроганов</a></li>
          <li><a href="linkr2.html">Π“ΡƒΡΡŒ с яблоками</a></li>
          <li>
            <a href="linkr3.html">ΠšΡ€ΡƒΠΏΠ΅Π½ΠΈΠΊ новгородский</a>
          </li>
          <li>
            <a href="linkr4.html"
              >Π Π°ΠΊΠΈ ΠΏΠΎ-русски</a
            >
          </li>
        </ul>
      </li>
      <li>
        <a href="ukrainian.html">Украинская кухня</a>
        <ul>
          <li><a href="linku1.html">Π’Π°Ρ€Π΅Π½ΠΈΠΊΠΈ</a></li>
          <li>
            <a href="linku2.html">Π–Π°Ρ€ΠΊΠΎΠ΅ ΠΏΠΎ-Ρ…Π°Ρ€ΡŒΠΊΠΎΠ²ΡΠΊΠΈ</a>
          </li>
          <li>
            <a href="linku3. html">ΠšΠ°ΠΏΡƒΡΡ‚Π½ΡΠΊ чСрниговский</a>
          </li>
          <li>
            <a href="linku4.html"
              >ΠŸΠΎΡ‚Π°ΠΏΡ†Ρ‹ с ΠΏΠΎΠΌΠΈΠ΄ΠΎΡ€Π°ΠΌΠΈ</a
            >
          </li>
        </ul>
      </li>
      <li>
        <a href="caucasus.html">Кавказская кухня</a>
        <ul>
          <li><a href="linkc1.html">Π‘ΡƒΠΏ-Ρ…Π°Ρ€Ρ‡ΠΎ</a></li>
          <li><a href="linkc2.html">Π›ΠΈΠ»ΠΈΠ±Π΄ΠΆ</a></li>
          <li><a href="linkc3.html">Π§ΠΈΡ…ΠΈΡ€Ρ‚ΠΌΠ°</a></li>
          <li>
            <a href="linkc4.html">Π¨Π°ΡˆΠ»Ρ‹ΠΊ</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="asia.html"
          >ΠšΡƒΡ…Π½Ρ Π‘Ρ€Π΅Π΄Π½Π΅ΠΉ Азии</a
        >
      </li>
    </ul>
  </body>
</html>

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ псСвдокласс :hover добавляСтся ΠΊ элСмСнту списка (Ρ‚Π΅Π³ <li>) для создания Π΄Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ мСню. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Бсылки

  • ПсСвдо-класс :hover MDN (рус.)

html — css hover: эфСкт (для списка)

(!) ΠžΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎ, пиксСли.

Задолбался ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄, сдСлал с нуля, Π½Π°Π²Π΅Ρ€Π½ΠΎ смоТСтС ΡƒΠΆΠ΅ Π΄ΠΎΠΏΠΈΠ»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ сСбС)
ВмСсто ΠΊΡ€ΡƒΠ³Π»ΡΡˆΠ΅ΠΊ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ с border-radius: 50%. А ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ — ΡƒΠ±ΠΈΡ€Π°ΡŽ радиус Π±ΠΎΡ€Π΄Π΅Ρ€ΠΎΠ² справа.

JsFiddle

.bubu {
  padding: 5px 0; 
  border: 1px solid red; /* для наглядности */
  width: 160px; 
  position: relative; /* Π£ ΠΊΡ€ΡƒΠ³Π»ΡΡˆΠ΅ΠΊ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ позиция. 
  А этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Ρƒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€ΠΈ */
  cursor: pointer;
  box-sizing: border-box;/*Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ padding Π½Π΅ сдвигал Π±Π»ΠΎΠΊ*/
  transition: 0.5s;
}

.bubble {
  width: 16px; height: 16px; position: absolute;
  right: 15px; top: 6px;
  background-color: #236; border-radius: 8px;
  transition: 0.2s;
}

.bubu:hover .bubble {
  right: 0; width: 31px; 
  /* собствСнная ΡˆΠΈΡ€ΠΈΠ½Π° Π±Ρ‹Π»Π° 16, right: 15; 
   * Π’Π΅ΠΏΠ΅Ρ€ΡŒ right: 0; Π° ΡˆΠΈΡ€ΠΈΠ½Π° стала 16 + 15 px
   */
  border-radius: 8px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  background-color: #bc007c;
}

.bubu:hover {
  padding-left: 15px;
  color: #bc007c;
}
<ul>
  <a href="#">
    <li>НовыС<div></div></li>
  </a>
  <li>Π‘ΡƒΠ±Ρƒ<div></div></li>
  <li>Π§Π΅Π±ΡƒΡ€Π°ΡˆΠΊΠΈ<div></div></li>
</ul>

P.s. вмСсто padding-left, padding-right ΠΏΠΎ-ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ сразу 4 числа Π² ΠΎΠ΄ΠΈΠ½. Начиная с Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ padding-top, дальшС всё ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ стрСлкС часов:

padding: Π²Π΅Ρ€Ρ… ΠΏΡ€Π°Π²ΠΎ Π²Π½ΠΈΠ· Π»Π΅Π²ΠΎ;
____________

padding-top: 10px;
padding-right: 20px;
padding-bottom: 30px;
padding-left: 40px;

сокращаСтся Π΄ΠΎ:

padding: 10px 20px 30px 40px;

Π’Π° ΠΆΠ΅ история ΠΈ с margin. А Ссли Ρ‚Π°ΠΌ всСго Π΄Π²Π° числа, пСрвая ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²Π΅Ρ€Ρ…-Π²Π½ΠΈΠ·, Π²Ρ‚ΠΎΡ€ΠΎΠ΅: Π»Π΅Π²ΠΎ-ΠΏΡ€Π°Π²ΠΎ.

Π˜Ρ‰Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ hover Π½Π° css / Π₯Π°Π±Ρ€

Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток, Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ Ρ…Π°Π±Ρ€Π°Ρ…Π°Π±Ρ€ΠΎΠ²Ρ†Ρ‹!

ΠŸΡ€ΠΈ создании Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вСрсии сайта, часто Π±Ρ‹Π²Π°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π·Π½Π°Ρ‚ΡŒ: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ hover, ΠΈΠ»ΠΈ Π½Π΅Ρ‚. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ подмСню, ΠΈΠ»ΠΈ ΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, привязанныС ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ hover β€” всС это Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ПК. На touch-устройствах ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ элСмСнтов Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ стили Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для устройств с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ hover Π½Π° css, Π½Π΅ забывая ΠΎ кроссбраузСрности?

Π’ Π½Π°Ρ‡Π°Π»Π΅ сразу Ρ…ΠΎΡ‡Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ js-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Modernizr, которая Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту Π·Π°Π΄Π°Ρ‡Ρƒ. Но… ΠŸΡ€ΠΈΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для опрСдСлСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ hover, вмСсто написания ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄ΠΈΠ°-запроса Π² css β€” Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½Π° ΠΌΠΎΠΉ взгляд.

Но ΠΈ с ΠΌΠ΅Π΄ΠΈΠ°-запросами Π½Π΅ всС Ρ‚Π°ΠΊ просто. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹!

1. media (hover)

div{color:red;}
@media (hover){
/*ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ hover*/
div{color:green;}
}

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Π΄ΠΈΠ°-запрос ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ стили Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для устройств, с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ hover. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ: caniuse.com/#feat=css-media-interaction

Как Π²ΠΈΠ΄ΠΈΠΌ, ΠΎΠ½ Π½Π΅ поддСрТиваСтся IE ΠΈ Firefox. Π’.Π΅. наш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ эти Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, ΠΊΠ°ΠΊ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ hover. Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚!

2. media (pointer:coarse)

div{color:green;}
@media (pointer:coarse){
/*touch-устройство*/
div{color:red;}
}

Π­Ρ‚ΠΎΡ‚ запрос Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² точности Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Ρ‚.Π΅. Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для touch-устройств. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρƒ media (hover), Π½ΠΎ Ρ‚.ΠΊ. IE ΠΈ Firefox ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ для ПК β€” Ρ‚ΠΎ Π² Π½ΠΈΡ… ΠΈ Ρ‚Π°ΠΊ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Π΄ΠΈΠ°-запрос.

Π’Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚Π΅Ρ… случаСв, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ стили ΠΈΠΌΠ΅Π½Π½ΠΎ для touch-устройств. Но Π² основном, стоит Π·Π°Π΄Π°Ρ‡Π° β€” ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ стили ΠΈΠΌΠ΅Π½Π½ΠΎ для hover. А это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ придСтся сначала ΠΏΠΈΡΠ°Ρ‚ΡŒ стили для всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΌΠ΅Π΄ΠΈΠ°-запросС. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ довольно Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‚.ΠΊ. Π½Π°Π΄ΠΎ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ свойство, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈ событии hover Π½Π° элСмСнтС.

3. media (hover) +

Выбирая ΠΈΠ· Π΄Π²ΡƒΡ… Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ. Π‘Ρ‹Π»Π° Π±Ρ‹ Π΅Ρ‰Π΅ браузСрная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠΎΠ±ΠΎΠ»ΡŒΡˆΠ΅β€¦

Но, ΠΊ ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ ряд ΠΌΠ΅Π΄ΠΈΠ°-запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° этом сайтС.

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² IE:

@media (min-width:0\0) {}

А этот ΠΌΠ΅Π΄ΠΈΠ°-запрос сработаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Firefox:
@media (min--moz-device-pixel-ratio:0) {}

Π’Π°ΠΊ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΆΠ΅ объСдиним всС 3 запроса!
div{color:red;}
@media (hover) , (min-width:0\0) , (min--moz-device-pixel-ratio:0){
/*ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ hover*/
div{color:green;}
}

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Π΄ΠΈΠ°-запрос, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ hover.
Запрос поддСрТиваСтся Π²ΠΎ всСх основных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΈ ΠΊΠ°ΠΊ бонус, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Blackberry ΠΈ Π² Opera Mini (Ρ‡Π΅Π³ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ Π²ΠΎ 2 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅).

Π”Π΅ΠΌΠΎ сравнСния 3Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ². Π—Π΅Π»Π΅Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ = ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° hover:

Hover-эффСкты для ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… элСмСнтов с использованиСм CSS Transitions

Π’ сСгодняшнСм ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с hover-эффСктами для ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… элСмСнтов. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сСйчас Ρƒ нас Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство border-radius, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈ ΠΎΠ½ΠΈ всС Ρ‡Π°Ρ‰Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² качСствС элСмСнтов Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° Π²Π΅Π±-сайтах. Один ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ½Π΅ Π±ΠΎΠ»Π΅Π΅ всСго нравится, это ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выглядят Π³ΠΎΡ€Π°Π·Π΄ΠΎ интСрСснСС, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅. И сСйчас ΠΌΡ‹ собираСмся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… эффСктов ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты!

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ этого ΡƒΡ€ΠΎΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π·Π°Π΄ΡƒΠΌΠ°Π½ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ свойства CSS.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΊΠΎΠ΄Π° Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ прСфиксы Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π½ΠΎ Π²Ρ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΈΡ… Π² исходных Ρ„Π°ΠΉΠ»Π°Ρ….

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ!

HTML

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру:

<ul>
Β  Β  <li>
Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  Β  Β  <h4>Use what you have</h4>
Β  Β  Β  Β  Β  Β  Β  Β  <p>by Angela Duncan <a href=»http://drbl.in/eOPF»>View on Dribbble</a></p>
Β  Β  Β  Β  Β  Β  </div>
Β  Β  Β  Β  </div>
Β  Β  </li>
Β  Β  <li>
Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  Β  Β  <h4>Common Causes of Stains</h4>
Β  Β  Β  Β  Β  Β  Β  Β  <p>by Antonio F. Mondragon <a href=»http://drbl.in/eKMi»>View on Dribbble</a></p>
Β  Β  Β  Β  Β  Β  </div>
Β  Β  Β  Β  </div>
Β  Β  </li>
Β  Β  <li>
Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  Β  Β  <h4>Pink Lightning</h4>
Β  Β  Β  Β  Β  Β  Β  Β  <p>by Charlie Wagers <a href=»http://drbl.in/ekhp»>View on Dribbble</a></p>
Β  Β  Β  Β  Β  Β  </div>
Β  Β  Β  Β  </div>
Β  Β  </li>
</ul>

Π₯отя ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния здСсь, ΠΌΡ‹ Π΄Π°Π΄ΠΈΠΌ сСбС Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС свободы, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ изобраТСния вмСсто ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ. ΠœΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΈΡ… Π² классах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с «ch-img-«. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρƒ нас Π±ΡƒΠ΄ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈ с описаниСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов, ΠΈ ΠΈΡ… Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ hover-эффСкты!

CSS

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΎΠ±Ρ‰ΠΈΠ΅ стили для списка ΠΈ элСмСнтов списка:

.ch-grid {
Β  Β  margin: 20px 0 0 0;
Β  Β  padding: 0;
Β  Β  list-style: none;
Β  Β  display: block;
Β  Β  text-align: center;
Β  Β  width: 100%;
}
Β 
.ch-grid:after,
.ch-item:before {
Β  Β  content: »;
Β  Β  display: table;
}
Β 
.ch-grid:after {
Β  Β  clear: both;
}
Β 
.ch-grid li {
Β  Β  width: 220px;
Β  Β  height: 220px;
Β  Β  display: inline-block;
Β  Β  margin: 20px;
}

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт списка, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡΒ display: inline-block ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² свойство text-align.

Π₯Π°ΠΊΒ clearfix ΠΎΡ‚ Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/

НСкоторыС ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΡƒΡŽ структуру, Π½ΠΎ ΠΌΡ‹ рассмотрим это Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ описаниС, увСличивая Π΅Π³ΠΎ Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² элСмСнта, ΠΈ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ‚Π΅Π½ΡŒ самого элСмСнта. Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ элСмСнта, Ρ‚Π΅Π½ΡŒ для Π½Π΅Π³ΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄:

.ch-item {
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  overflow: hidden;
Β  Β  position: relative;
Β  Β  cursor: default;
Β  Β  box-shadow:
Β  Β  Β  Β  inset 0 0 0 16px rgba(255,255,255,0.6),
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.1);
Β  Β  transition: all 0.4s ease-in-out;
}

ΠœΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΄Π²Π° класса для элСмСнта: ΠΎΠ΄ΠΈΠ½ — это ch-item, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для опрСдСлСния Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния:

Β 

.ch-img-1 {
Β  Β  background-image: url(../images/1.jpg);
}
Β 
.ch-img-2 {
Β  Β  background-image: url(../images/2.jpg);
}
Β 
.ch-img-3 {
Β  Β  background-image: url(../images/3.jpg);
}

ОписаниС элСмСнта Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ, ΠΈ ΠΌΡ‹ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ Ρ„ΠΎΠ½, установив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для RGBA. Π•Π³ΠΎ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° 0, ΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π± Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎ 0:

.ch-info {
Β  Β  position: absolute;
Β  Β  background: rgba(63,147,147, 0.8);
Β  Β  width: inherit;
Β  Β  height: inherit;
Β  Β  border-radius: 50%;
Β  Β  overflow: hidden;
Β  Β  opacity: 0;
Β  Β  transition: all 0.4s ease-in-out;
Β  Β  transform: scale(0);
}

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ отступы ΠΈ сглаТСнныС Ρ‚Π΅Π½ΠΈ для тСкста:

.ch-info h4 {
Β  Β  color: #fff;
Β  Β  text-transform: uppercase;
Β  Β  letter-spacing: 2px;
Β  Β  font-size: 22px;
Β  Β  margin: 0 30px;
Β  Β  padding: 45px 0 0 0;
Β  Β  height: 140px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
Β  Β  text-shadow:
Β  Β  Β  Β  0 0 1px #fff,
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.3);
}

Π’Π΅Π³ P ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π²Π½ΡƒΡŽ 0 ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ (ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ появлялся ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора ΠΌΡ‹ΡˆΠΈ, Π½ΠΎ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ):

.ch-info p {
Β  Β  color: #fff;
Β  Β  padding: 10px 5px;
Β  Β  font-style: italic;
Β  Β  margin: 0 30px;
Β  Β  font-size: 12px;
Β  Β  border-top: 1px solid rgba(255,255,255,0.5);
Β  Β  opacity: 0;
Β  Β  transition: all 1s ease-in-out 0.4s;
}

Бсылка Π±ΡƒΠ΄Π΅Ρ‚ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС, ΠΈ ΠΌΡ‹ помСняСм Ρ†Π²Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ:

.ch-info p a {
Β  Β  display: block;
Β  Β  color: rgba(255,255,255,0.7);
Β  Β  font-style: normal;
Β  Β  font-weight: 700;
Β  Β  text-transform: uppercase;
Β  Β  font-size: 9px;
Β  Β  letter-spacing: 1px;
Β  Β  padding-top: 4px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
}
Β 
.ch-info p a:hover {
Β  Β  color: rgba(255,242,34, 0.8);
}

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, самоС интСрСсноС, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΡ‹ΡˆΠΈ!
Π­Ρ‚ΠΎΡ‚ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½, ΠΈ Π΅Π³ΠΎ Ρ‚Π΅Π½ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ радиус с 16px Π΄ΠΎ 1px:

.ch-item:hover {
Β  Β  box-shadow:
Β  Β  Β  Β  inset 0 0 0 1px rgba(255,255,255,0.1),
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.1);
}

ОписаниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ 1:

.ch-item:hover .ch-info {
Β  Β  transform: scale(1);
Β  Β  opacity: 1;
}

ΠŸΠ°Ρ€Π°Π³Ρ€Π°Ρ„ Π±ΡƒΠ΄Π΅Ρ‚ просто ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ (с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ):

.ch-item:hover .ch-info p {
Β  Β  opacity: 1;
}

Π‘ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ! Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2

HTML структура Π² Π΄Π°Π½Π½ΠΎΠΌ случаС такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Π½ΡŒ для элСмСнта, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ наш ΠΊΡ€ΡƒΠ³ ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅Π½ΡŒ слуТила Ρ„ΠΎΠ½ΠΎΠΌ для описания.
Π˜Ρ‚Π°ΠΊ, здСсь Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ особСнного, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Π½ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько строк Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

.ch-item {
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  position: relative;
Β  Β  cursor: default;
Β  Β  box-shadow:
Β  Β  Β  Β  inset 0 0 0 0 rgba(200,95,66, 0.4),
Β  Β  Β  Β  inset 0 0 0 16px rgba(255,255,255,0.6),
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.1);
Β  Β  transition: all 0.4s ease-in-out;
}

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ для Ρ„ΠΎΠ½Π°:

.ch-img-1 {
Β  Β  background-image: url(../images/4.jpg);
}
Β 
.ch-img-2 {
Β  Β  background-image: url(../images/5.jpg);
}
Β 
.ch-img-3 {
Β  Β  background-image: url(../images/6.jpg);
}

ОписаниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ спрятано:

.ch-info {
Β  Β  position: absolute;
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  overflow: hidden;
Β  Β  opacity: 0;
Β  Β  transition: all 0.4s ease-in-out;
Β  Β  transform: scale(0);
Β  Β  backface-visibility: hidden;
}

Π—Π°Π΄Π°Π΄ΠΈΠΌ стили для типографских элСмСнтов:

.ch-info h4 {
Β  Β  color: #fff;
Β  Β  text-transform: uppercase;
Β  Β  position: relative;
Β  Β  letter-spacing: 2px;
Β  Β  font-size: 22px;
Β  Β  margin: 0 30px;
Β  Β  padding: 65px 0 0 0;
Β  Β  height: 110px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
Β  Β  text-shadow:
Β  Β  Β  Β  0 0 1px #fff,
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.3);
}
Β 
.ch-info p {
Β  Β  color: #fff;
Β  Β  padding: 10px 5px;
Β  Β  font-style: italic;
Β  Β  margin: 0 30px;
Β  Β  font-size: 12px;
Β  Β  border-top: 1px solid rgba(255,255,255,0.5);
}
Β 
.ch-info p a {
Β  Β  display: block;
Β  Β  color: rgba(255,255,255,0.7);
Β  Β  font-style: normal;
Β  Β  font-weight: 700;
Β  Β  text-transform: uppercase;
Β  Β  font-size: 9px;
Β  Β  letter-spacing: 1px;
Β  Β  padding-top: 4px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
}
Β 
.ch-info p a:hover {
Β  Β  color: rgba(255,242,34, 0.8);
}

ΠŸΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΡ‹ Π°Π½ΠΈΠΌΠΈΡ€ΡƒΠ΅ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ‚Π΅Π½ΡŒ элСмСнта (ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρƒ нас красноватая) Π΄ΠΎ 110px Π² радиусС. Она ΠΏΠΎΠΊΡ€ΠΎΠ΅Ρ‚ вСсь ΠΊΡ€ΡƒΠ³:

.ch-item:hover {
Β  Β  box-shadow:
Β  Β  Β  Β  inset 0 0 0 110px rgba(200,95,66, 0.4),
Β  Β  Β  Β  inset 0 0 0 16px rgba(255,255,255,0.8),
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.1);
}

ΠœΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ описаниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ появилось:

.ch-item:hover .ch-info {
Β  Β  opacity: 1;
Β  Β  transform: scale(1); Β 
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΠΎΠΈΠ³Ρ€Π°Π΅ΠΌ с Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π»ΠΎΠΊ для эскиза. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

<li>
Β  Β  <div>
Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  <h4>Music poster</h4>
Β  Β  Β  Β  Β  Β  <p>by Jonathan Quintin <a href=»http://drbl.in/eGjw»>View on Dribbble</a></p>
Β  Β  Β  Β  </div>
Β  Β  Β  Β  <div></div>
Β  Β  </div>
</li>

Π‘Π»ΠΎΠΊ элСмСнта Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ стили, ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅ (с Ρ‚ΠΎΠ½ΠΊΠΎΠΉ Ρ‚Π΅Π½ΡŒΡŽ):

.ch-item {
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  position: relative;
Β  Β  cursor: default;
Β  Β  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

Для эскиза ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ свойство transform-origin ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ поворачивался Π²Π½ΠΈΠ· ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора ΠΌΡ‹ΡˆΠΈ, ΠΈ ΠΏΡ€ΠΈ этом раскрывал описаниС элСмСнтов:

.ch-thumb {
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  overflow: hidden;
Β  Β  position: absolute;
Β  Β  box-shadow: inset 0 0 0 15px rgba(255,255,255, 0.5);
Β  Β  transform-origin: 95% 40%;
Β  Β  transition: all 0.3s ease-in-out;
}

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ псСвдо-класса :after ΠΌΡ‹ создадим Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΌΠ΅Π΄Π½ΡƒΡŽ Π·Π°Ρ‰Π΅Π»ΠΊΡƒ с Ρ€Π°Π΄ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚ΠΎΠΌ:

.ch-thumb:after {
Β  Β  content: »;
Β  Β  width: 8px;
Β  Β  height: 8px;
Β  Β  position: absolute;
Β  Β  border-radius: 50%;
Β  Β  top: 40%;
Β  Β  left: 95%;
Β  Β  margin: -4px 0 0 -4px;
Β  Β  background: radial-gradient(ellipse at center, rgba(14,14,14,1) 0%,rgba(125,126,125,1) 100%);
Β  Β  box-shadow: 0 0 1px rgba(255,255,255,0.9);
}

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ изобраТСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта:

.ch-img-1 {
Β  Β  background-image: url(../images/7.jpg);
Β  Β  z-index: 12;
}
Β 
.ch-img-2 {
Β  Β  background-image: url(../images/8.jpg);
Β  Β  z-index: 11;
}
Β 
.ch-img-3 {
Β  Β  background-image: url(../images/9.jpg);
Β  Β  z-index: 10;
}

ОписаниС элСмСнта Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ стили:

.ch-info {
Β  Β  position: absolute;
Β  Β  width: inherit;
Β  Β  height: inherit;
Β  Β  border-radius: 50%;
Β  Β  overflow: hidden;
Β  Β  background: #c9512e url(../images/noise.png);
Β  Β  box-shadow: inset 0 0 0 5px rgba(0,0,0,0.05);
}

ВипографскиС элСмСнты стилизованны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

.ch-info h4 {
Β  Β  color: #fff;
Β  Β  text-transform: uppercase;
Β  Β  position: relative;
Β  Β  letter-spacing: 2px;
Β  Β  font-size: 18px;
Β  Β  margin: 0 60px;
Β  Β  padding: 22px 0 0 0;
Β  Β  height: 85px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
Β  Β  text-shadow:
Β  Β  Β  Β  0 0 1px #fff,
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.3);
}
Β 
.ch-info p {
Β  Β  color: #fff;
Β  Β  padding: 10px 5px;
Β  Β  font-style: italic;
Β  Β  margin: 0 30px;
Β  Β  font-size: 12px;
Β  Β  border-top: 1px solid rgba(255,255,255,0.5);
}

Бсылка Π±ΡƒΠ΄Π΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ малСнького ΠΊΡ€ΡƒΠΆΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π²ΠΏΡ€Π°Π²ΠΎ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ:

.ch-info p a {
Β  Β  display: block;
Β  Β  color: #333;
Β  Β  width: 80px;
Β  Β  height: 80px;
Β  Β  background: rgba(255,255,255,0.3);
Β  Β  border-radius: 50%;
Β  Β  color: #fff;
Β  Β  font-style: normal;
Β  Β  font-weight: 700;
Β  Β  text-transform: uppercase;
Β  Β  font-size: 9px;
Β  Β  letter-spacing: 1px;
Β  Β  padding-top: 24px;
Β  Β  margin: 7px auto 0;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
Β  Β  opacity: 0;
Β  Β  transition:
Β  Β  Β  Β  transform 0.3s ease-in-out 0.2s,
Β  Β  Β  Β  opacity 0.3s ease-in-out 0.2s,
Β  Β  Β  Β  background 0.2s linear 0s;
Β  Β  transform: translateX(60px) rotate(90deg);
}
Β 
.ch-info p a:hover {
Β  Β  background: rgba(255,255,255,0.5);
}

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ прозрачности происходили с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ, Π½ΠΎ Ρ„ΠΎΠ½ измСнялся Π±Π΅Π· Π½Π΅Ρ‘, ΠΌΡ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹.

ΠŸΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΡ‹ ΠΏΠΎΠ²Π΅Ρ€Π½Π΅ΠΌ эскиз ΠΈ пСрСмСстим/ΠΏΠΎΠ²Π΅Ρ€Π½Π΅ΠΌ ссылку:

.ch-item:hover .ch-thumb {
Β  Β  box-shadow: inset 0 0 0 15px rgba(255,255,255, 0.5), 0 1px 3px rgba(0,0,0,0.2);
Β  Β  transform: rotate(-110deg);
}
.ch-item:hover .ch-info p a{
Β  Β  opacity: 1;
Β  Β  transform: translateX(0px) rotate(0deg);
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4

Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя элСмСнты 3D. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ структуру, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для пСрспСктивы ΠΈ Π»ΠΈΡ†Π΅Π²ΡƒΡŽ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, элСмСнт списка Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

<li>
Β  Β  <div> Β  Β  Β  Β  Β  Β  Β 
Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  Β  Β  <div></div>
Β  Β  Β  Β  Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  <h4>Bears Type</h4>
Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  <p>by Josh Schott <a href=»http://drbl.in/ewUW»>View on Dribbble</a></p>
Β  Β  Β  Β  Β  Β  Β  Β  </div> Β 
Β  Β  Β  Β  Β  Β  </div>
Β  Β  Β  Β  </div>
Β  Β  </div>
</li>

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Π±Π»ΠΎΠΊΠ° элСмСнта, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π»ΠΈΡ†Π΅Π²ΠΎΠΉ части ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ элСмСнта.
Π’Ρ€ΡŽΠΊ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΠ½ для ch-info-wrap, ΠΊΠ°ΠΊ ΠΈ Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ страницС. Π­Ρ‚ΠΎ создаст иллюзию, Ρ‡Ρ‚ΠΎ наш элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ отвСрстиС.

Π­Ρ‚ΠΎΡ‚ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ стили:

.ch-item {
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  position: relative;
Β  Β  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
Β  Β  cursor: default;
}

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для пСрспСктивы, ΠΈ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ для Ρ‚Π΅Π½ΠΈ:

.ch-info-wrap{
Β  Β  position: absolute;
Β  Β  width: 180px;
Β  Β  height: 180px;
Β  Β  border-radius: 50%;
Β  Β  perspective: 800px;
Β  Β  transition: all 0.4s ease-in-out;
Β  Β  top: 20px;
Β  Β  left: 20px;
Β  Β  background: #f9f9f9 url(../images/bg.jpg);
Β  Β  box-shadow:
Β  Β  Β  Β  0 0 0 20px rgba(255,255,255,0.2),
Β  Β  Β  Β  inset 0 0 3px rgba(115,114, 23, 0.8);
Β 
}

Π‘Π»ΠΎΠΊ с классом ch-info Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β preserve-3d для transform-style, ΠΈ ΠΌΡ‹ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ этот элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π² 3D:

.ch-info{
Β  Β  position: absolute;
Β  Β  width: 180px;
Β  Β  height: 180px;
Β  Β  border-radius: 50%;
Β  Β  transition: all 0.4s ease-in-out;
Β  Β  transform-style: preserve-3d;
}

ЛицСвая ΠΈ обратная стороны Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ стили:

.ch-info > div {
Β  Β  display: block;
Β  Β  position: absolute;
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  background-position: center center;
Β  Β  backface-visibility: hidden;
}

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ сторона Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΅Π΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ:

.ch-info .ch-info-back {
Β  Β  transform: rotate3d(0,1,0,180deg);
Β  Β  background: #000;
}

И снова, Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ изобраТСния:

.ch-img-1 {
Β  Β  background-image: url(../images/10.jpg);
}
Β 
.ch-img-2 {
Β  Β  background-image: url(../images/11.jpg);
}
Β 
.ch-img-3 {
Β  Β  background-image: url(../images/12.jpg);
}

… ΠΈ типографскиС элСмСнты:

.ch-info h4 {
Β  Β  color: #fff;
Β  Β  text-transform: uppercase;
Β  Β  letter-spacing: 2px;
Β  Β  font-size: 14px;
Β  Β  margin: 0 15px;
Β  Β  padding: 40px 0 0 0;
Β  Β  height: 90px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
Β  Β  text-shadow:
Β  Β  Β  Β  0 0 1px #fff,
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.3);
}
Β 
.ch-info p {
Β  Β  color: #fff;
Β  Β  padding: 10px 5px;
Β  Β  font-style: italic;
Β  Β  margin: 0 30px;
Β  Β  font-size: 12px;
Β  Β  border-top: 1px solid rgba(255,255,255,0.5);
}
Β 
.ch-info p a {
Β  Β  display: block;
Β  Β  color: rgba(255,255,255,0.7);
Β  Β  font-style: normal;
Β  Β  font-weight: 700;
Β  Β  text-transform: uppercase;
Β  Β  font-size: 9px;
Β  Β  letter-spacing: 1px;
Β  Β  padding-top: 4px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
}
Β 
.ch-info p a:hover {
Β  Β  color: rgba(255,242,34, 0.8);
}

ΠŸΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚Π΅Π½ΠΈ Π²Ρ€Π°ΠΏΠΏΠ΅Ρ€Π° ΠΈ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону:

.ch-item:hover .ch-info-wrap {
Β  Β  box-shadow:
Β  Β  Β  Β  0 0 0 0 rgba(255,255,255,0.8),
Β  Β  Β  Β  inset 0 0 3px rgba(115,114, 23, 0.8);
}
Β 
.ch-item:hover .ch-info {
Β  Β  transform: rotate3d(0,1,0,-180deg);
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ‡Π°ΡΡ‚ΡŒ эскиза Π΄ΠΎ 0 ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ описаниС элСмСнтов появлялось ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π΄ΠΎ 1.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° пятого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π­Ρ‚ΠΎΡ‚ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ стили:

.ch-item {
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  position: relative;
Β  Β  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
Β  Β  cursor: default;
}

Π’Ρ€Π°ΠΏΠΏΠ΅Ρ€ ΠΈ Π±Π»ΠΎΠΊ с описаниСм Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ‰ΠΈΠ΅ стили:

.ch-info-wrap,
.ch-info{
Β  Β  position: absolute;
Β  Β  width: 180px;
Β  Β  height: 180px;
Β  Β  border-radius: 50%;
}

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Ρ€ΡŽΠΊ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΈ установим Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΠ½ для Π²Ρ€Π°ΠΏΠΏΠ΅Ρ€Π°, Ρ‡Ρ‚ΠΎ ΠΈ для страницы:

.ch-info-wrap {
Β  Β  top: 20px;
Β  Β  left: 20px;
Β  Β  background: #f9f9f9 url(../images/bg.jpg);
Β  Β  box-shadow:
Β  Β  Β  Β  0 0 0 20px rgba(255,255,255,0.2),
Β  Β  Β  Β  inset 0 0 3px rgba(115,114, 23, 0.8);
Β 
}

ΠžΠ±Ρ‰ΠΈΠ΅ стили для «ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅Π³ΠΎ» ΠΈ «Π·Π°Π΄Π½Π΅Π³ΠΎ» Π±Π»ΠΎΠΊΠ°:

.ch-info > div {
Β  Β  display: block;
Β  Β  position: absolute;
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  background-position: center center;
}

Β«ΠŸΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉΒ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ (ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ ΠΈ ΠΈΡΡ‡Π΅Π·Π°Ρ‚ΡŒ):

.ch-info .ch-info-front {
Β  Β  transition: all 0.6s ease-in-out;
}

«Π—Π°Π΄Π½ΠΈΠΉ» Π±Π»ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит описаниС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒΒ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π²Π½ΡƒΡŽ 0, Π° Π·Π°Ρ‚Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ 1.5:

.ch-info .ch-info-back {
Β  Β  opacity: 0;
Β  Β  background: #223e87;
Β  Β  pointer-events: none;
Β  Β  transform: scale(1.5);
Β  Β  transition: all 0.4s ease-in-out 0.2s;
}

Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ изобраТСния ΠΈ типографскиС элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ стили ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с нСсколькими Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ:

.ch-img-1 {
Β  Β  background-image: url(../images/13.jpg);
}
Β 
.ch-img-2 {
Β  Β  background-image: url(../images/14.jpg);
}
Β 
.ch-img-3 {
Β  Β  background-image: url(../images/15.jpg);
}
Β 
.ch-info h4 {
Β  Β  color: #fff;
Β  Β  text-transform: uppercase;
Β  Β  letter-spacing: 2px;
Β  Β  font-size: 18px;
Β  Β  margin: 0 15px;
Β  Β  padding: 40px 0 0 0;
Β  Β  height: 80px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
Β  Β  text-shadow:
Β  Β  Β  Β  0 0 1px #fff,
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.3);
}
Β 
.ch-info p {
Β  Β  color: #fff;
Β  Β  padding: 10px 5px 0;
Β  Β  font-style: italic;
Β  Β  margin: 0 30px;
Β  Β  font-size: 12px;
Β  Β  border-top: 1px solid rgba(255,255,255,0.5);
}
Β 
.ch-info p a {
Β  Β  display: block;
Β  Β  color: #e7615e;
Β  Β  font-style: normal;
Β  Β  font-weight: 700;
Β  Β  text-transform: uppercase;
Β  Β  font-size: 9px;
Β  Β  letter-spacing: 1px;
Β  Β  padding-top: 4px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
}
Β 
.ch-info p a:hover {
Β  Β  color: #fff;
}

ΠŸΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΡ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ‡Π°ΡΡ‚ΡŒ эскиза Π΄ΠΎ 0 ΠΈ установим Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π²Π½ΡƒΡŽ 0 для «ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅Π³ΠΎ» Π±Π»ΠΎΠΊΠ°.

.ch-item:hover .ch-info-front {
Β  Β  transform: scale(0);
Β  Β  opacity: 0;
}

Π’Π° Ρ‡Π°ΡΡ‚ΡŒ, которая содСрТит описаниС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΈ появится Π½Π° экранС.

.ch-item:hover .ch-info-back {
Β  Β  transform: scale(1);
Β  Β  opacity: 1;
Β  Β  pointer-events: auto;
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 6

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Ρ‹ Π²Π½ΠΈΠ·, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ описаниС. HTML-ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π΄Π²ΡƒΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ стили, ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅:

.ch-item {
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  position: relative;
Β  Β  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
Β  Β  cursor: default;
}

ΠžΠ±Ρ‰ΠΈΠ΅ стили для Π²Ρ€Π°ΠΏΠΏΠ΅Ρ€Π° ΠΈ элСмСнта с описаниСм:

.ch-info-wrap,
.ch-info{
Β  Β  position: absolute;
Β  Β  width: 180px;
Β  Β  height: 180px;
Β  Β  border-radius: 50%;
Β  Β  transition: all 0.4s ease-in-out;
}

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ пСрспСктиву:

.ch-info-wrap {
Β  Β  top: 20px;
Β  Β  left: 20px;
Β  Β  background: #f9f9f9 url(../images/bg.jpg);
Β  Β  box-shadow:
Β  Β  Β  Β  0 0 0 20px rgba(255,255,255,0.2),
Β  Β  Β  Β  inset 0 0 3px rgba(115,114, 23, 0.8);
Β  Β  perspective: 800px;
}

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρƒ info установим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ стили для трансформации:

.ch-info {
Β  Β  transform-style: preserve-3d;
}

ΠŸΠ΅Ρ€Π΅Π΄Π½ΡΡ ΠΈ задняя стороны Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π° этот Ρ€Π°Π· ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΒ backface-visibility: hidden, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌΒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ части эскиза, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° пСрСворачиваСтся Π²Π½ΠΈΠ·:

.ch-info > div {
Β  Β  display: block;
Β  Β  position: absolute;
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  background-position: center center;
Β  Β  transition: all 0.6s ease-in-out;
}

Π”Π°Π²Π°ΠΉΡ‚Π΅ установим ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ transform-origin, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ Π²Π½ΠΈΠ·:

.ch-info .ch-info-front {
Β  Β  transform-origin: 50% 100%;
Β  Β  z-index: 100;
Β  Β  box-shadow:
Β  Β  Β  Β  inset 2px 1px 4px rgba(0,0,0,0.1);
}

ΠœΡ‹ установим RGBA Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π²Π½ΡƒΡŽ 0 для Ρ„ΠΎΠ½Π° элСмСнта с описаниСм:

.ch-info .ch-info-back {
Β  Β  background: rgba(230,132,107,0);
}

И ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ стили для Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов:

.ch-img-1 {
Β  Β  background-image: url(../images/16.jpg);
}
Β 
.ch-img-2 {
Β  Β  background-image: url(../images/17.jpg);
}
Β 
.ch-img-3 {
Β  Β  background-image: url(../images/18.jpg);
}
Β 
.ch-info h4 {
Β  Β  color: #fff;
Β  Β  text-transform: uppercase;
Β  Β  letter-spacing: 2px;
Β  Β  font-size: 14px;
Β  Β  margin: 0 25px;
Β  Β  padding: 40px 0 0 0;
Β  Β  height: 90px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
Β  Β  text-shadow:
Β  Β  Β  Β  0 0 1px #fff,
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.3);
}
Β 
.ch-info p {
Β  Β  color: #fff;
Β  Β  padding: 10px 5px;
Β  Β  font-style: italic;
Β  Β  margin: 0 30px;
Β  Β  font-size: 12px;
Β  Β  border-top: 1px solid rgba(255,255,255,0.5);
}
Β 
.ch-info p a {
Β  Β  display: block;
Β  Β  color: rgba(255,255,255,0.7);
Β  Β  font-style: normal;
Β  Β  font-weight: 700;
Β  Β  text-transform: uppercase;
Β  Β  font-size: 9px;
Β  Β  letter-spacing: 1px;
Β  Β  padding-top: 4px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
}
Β 
.ch-info p a:hover {
Β  Β  color: rgba(255,242,34, 0.8);
}

ΠŸΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π½ΡŽΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Π½ΡŒ.

.ch-item:hover .ch-info-front {
Β  Β  transform: rotate3d(1,0,0,-180deg);
Β  Β  box-shadow:
Β  Β  Β  Β  inset 0 0 5px rgba(255,255,255,0.2),
Β  Β  Β  Β  inset 0 0 3px rgba(0,0,0,0.3);
}
Β 
.ch-item:hover .ch-info-back {
Β  Β  background: rgba(230,132,107,0.6);
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7

ПослСдний ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊΡƒΠ±Π°, Π³Π΄Π΅ ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ описаниС, поворачивая Π΅Π³ΠΎ Π½Π° Π±ΠΎΠΊ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· Π³Ρ€Π°Π½Π΅ΠΉ, Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°. Π˜Ρ‚Π°ΠΊ, наш HTML-ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

<li>
Β  Β  <div> Β  Β  Β  Β  Β  Β 
Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  <div></div>
Β  Β  Β  Β  Β  Β  <div>
Β  Β  Β  Β  Β  Β  Β  Β  <h4>Mouse</h4>
Β  Β  Β  Β  Β  Β  Β  Β  <p>by Alexander Shumihin <a href=»http://drbl.in/eAoj»>View on Dribbble</a></p>
Β  Β  Β  Β  Β  Β  </div> Β 
Β  Β  Β  Β  </div>
Β  Β  </div>
</li>

ΠœΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ для элСмСнта свойство perspective:

.ch-item {
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  position: relative;
Β  Β  cursor: default;
Β  Β  perspective: 900px;
}

Для элСмСнта с классом ch-info понадобится preserve-3d:

.ch-info{
Β  Β  position: absolute;
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  transform-style: preserve-3d;
}

ЛицСвая ΠΈ обратная сторона Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹, transform-origin Π±ΡƒΠ΄Π΅Ρ‚ установлСн ΠΊΠ°ΠΊ 50% 0%:

.ch-info > div {
Β  Β  display: block;
Β  Β  position: absolute;
Β  Β  width: 100%;
Β  Β  height: 100%;
Β  Β  border-radius: 50%;
Β  Β  background-position: center center;
Β  Β  transition: all 0.4s linear;
Β  Β  transform-origin: 50% 0%;
}

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим ΡΠΈΠΌΠΏΠ°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ Ρ‚Π΅Π½ΡŒ для ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅ΠΉ части:

.ch-info .ch-info-front {
Β  Β  box-shadow: inset 0 0 0 16px rgba(0,0,0,0.3);
}

ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π°Ρ сторона Π±ΡƒΠ΄Π΅Ρ‚ спрятана ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ:

.ch-info .ch-info-back {
Β  Β  transform: translate3d(0,0,-220px) rotate3d(1,0,0,90deg);
Β  Β  background: #000;
Β  Β  opacity: 0;
}

Π—Π°Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ стили для Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ тСкстовых элСмСнтов:

.ch-img-1 {
Β  Β  background-image: url(../images/19.jpg);
}
Β 
.ch-img-2 {
Β  Β  background-image: url(../images/20.jpg);
}
Β 
.ch-img-3 {
Β  Β  background-image: url(../images/21.jpg);
}
Β 
.ch-info h4 {
Β  Β  color: #fff;
Β  Β  text-transform: uppercase;
Β  Β  letter-spacing: 2px;
Β  Β  font-size: 24px;
Β  Β  margin: 0 15px;
Β  Β  padding: 60px 0 0 0;
Β  Β  height: 110px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
Β  Β  text-shadow:
Β  Β  Β  Β  0 0 1px #fff,
Β  Β  Β  Β  0 1px 2px rgba(0,0,0,0.3);
}
Β 
.ch-info p {
Β  Β  color: #fff;
Β  Β  padding: 10px 5px;
Β  Β  font-style: italic;
Β  Β  margin: 0 30px;
Β  Β  font-size: 12px;
Β  Β  border-top: 1px solid rgba(255,255,255,0.5);
}
Β 
.ch-info p a {
Β  Β  display: block;
Β  Β  color: rgba(255,255,255,0.7);
Β  Β  font-style: normal;
Β  Β  font-weight: 700;
Β  Β  text-transform: uppercase;
Β  Β  font-size: 9px;
Β  Β  letter-spacing: 1px;
Β  Β  padding-top: 4px;
Β  Β  font-family: ‘Open Sans’, Arial, sans-serif;
}
Β 
.ch-info p a:hover {
Β  Β  color: rgba(255,242,34, 0.8);
}

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ translate3d, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π»ΠΈΡ†Π΅Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎ оси Y нашСго 3D пространства, ΠΈΒ rotate3d, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° самом Π΄Π΅Π»Π΅ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Ρ‘. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ постСпСнно Π΅Ρ‘ спрячСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ какая-Π»ΠΈΠ±ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Π½Π΅ Π±Ρ‹Π»Π° Π²ΠΈΠ΄Π½Π° впослСдствии:

.ch-item:hover .ch-info-front {
Β  Β  transform: translate3d(0,280px,0) rotate3d(1,0,0,-90deg);
Β  Β  opacity: 0;
}

ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π°Ρ сторона Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ «Π½Π°Π·Π°Π΄» Π΄ΠΎ 0 градусов (ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚Π° Π²Π½ΠΈΠ·):

.ch-item:hover .ch-info-back {
Β  Β  transform: rotate3d(1,0,0,0deg);
Β  Β  opacity: 1;
}

И Π²ΠΎΡ‚ ΠΈ всё!

НадСюсь, Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ, ΠΈ эти эффСкты Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹!

ДСмонстрация

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходныС Ρ„Π°ΠΉΠ»Ρ‹

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ с tympanus.net/codrops


Если Ρƒ Вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ вопросы, Ρ‚ΠΎ для ΡΠΊΠΎΡ€Π΅ΠΉΡˆΠ΅Π³ΠΎ получСния ΠΎΡ‚Π²Π΅Ρ‚Π° Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ нашим Ρ„ΠΎΡ€ΡƒΠΌΠΎΠΌ

РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с CSSΒ :hover

:hoverβ€Šβ€”β€ŠΠΏΡΠ΅Π²Π΄ΠΎΠΊΠ»Π°ΡΡ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ элСмСнта ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° Π½Π΅Π³ΠΎ указатСля.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с псСвдоклассом :hover Π½Π°Ρ‡Π°Π»ΠΈΡΡŒ Π΅Ρ‰Π΅ с Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΊΠ°ΠΊ Π½Π° сСнсорных устройствах Π±Ρ‹Π» установлСн ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅ΡˆΠ°Π»ΠΈ, Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ это вряд Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ. Однако с Π½ΠΎΠ²Ρ‹ΠΌΠΈ мСдиазапросами (Media Queries) 4 уровня ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, каТСтся, Ρ€Π΅ΡˆΠ΅Π½Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

β€œΠ₯м … Π° Π² Ρ‡Π΅ΠΌ, собствСнно говоря, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°?”

Допустим, Π²Ρ‹ просто Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ псСвдокласс :hover ΠΊ элСмСнту вашСй Π²Π΅Π±-страницы. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ курсор ΠΌΡ‹ΡˆΠΈ Π½Π° этот элСмСнт, Ρ‚ΠΎ ΠΎΠ½ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° CSS ΠΈ мСняСт свой внСшний Π²ΠΈΠ΄. Π›Π΅Π³Ρ‡Π΅ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ!

Однако Π½Π° сСнсорном экранС с псСвдоклассом :hover Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, эффСкт навСдСния закрСпляСтся Π½Π° элСмСнтС. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, это происходит, Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° элСмСнта Π½Π΅ касались Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. НапримСр, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² процСссС ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ страницы Π·Π°Π΄Π΅Π²Π°Π΅Ρ‚ элСмСнт ΠΈ Π΅Π³ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ мСняСтся, согласно CSS ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΒ :hover.

Вакая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ пСрСтаскивании ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ элСмСнтов с :hover ΠΏΠΎ Π²Π΅Π±-страницС. Π­Ρ‚ΠΎ происходит, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΠΈβ€Šβ€”β€ŠΠ²Π°Ρˆ ΠΏΠ°Π»Π΅Ρ† (ΠΈΠ»ΠΈ стилус) ΠΈ Π΅ΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚Β :hover. Но ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ послС прСкращСния пСрСтаскивания ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°β€Šβ€”β€ŠΡΡ„Ρ„Π΅ΠΊΡ‚Ρ‹, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅Β :hover, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ.

ПодобноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ элСмСнтов ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ подобная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° вашСм ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅. Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ.

β€œΠΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ-Ρ‚ΠΎΒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒβ€¦β€

Π”Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹Π΄Π²ΠΈΠ³Π°Π»ΠΈΡΡŒ. Π›ΡƒΡ‡ΡˆΠΈΠΌ ΠΈΠ· Π½ΠΈΡ… Π±Ρ‹Π»ΠΎ использованиС JavaScript для опрСдСлСния наличия сСнсорного экрана ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ класса ΠΊ bodyΒ . ПослС Ρ‡Π΅Π³ΠΎ, добавляя ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ элСмСнту псСвдокласс :hover, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ явноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ этому классу.

body.nontouch nav a:hover {
    background: yellow;
}

Однако ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько нСдостатков:

  1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ JS-сцСнарий обнаруТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ сСгодня, Π½ΠΎ Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Ρƒ мСсяцСв, ΠΊΠΎΠ³Π΄Π° появится какая-Ρ‚ΠΎ новая тСхнология? Ноутбуки с сСнсорными экранами? Π‘ΡŠΠ΅ΠΌΠ½Ρ‹Π΅ сСнсорныС экраны? Apple Pencil? Никто Π½Π΅ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎΠ± этом Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  2. ИспользованиС основанного Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… JS-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° с инкапсулированными стилями Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° активируСтся :hover, стили этого элСмСнта Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° этот Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ класс.
  3. Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… устройствах. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ для ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… устройств придСтся ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Однако Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ стандартизированный способ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° всСх устройствах.
Media Queries LevelΒ 4

ΠœΠ΅Π΄ΠΈΠ°Π·Π°ΠΏΡ€ΠΎΡΡ‹ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹. Они Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΡƒ Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΠΈΡ… ΠΏΠΎ ΠΏΡ€Π°Π²Ρƒ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΊΡ€Π°Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°ΠΌΠ½Π΅ΠΌ соврСмСнной мобильной Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ W3C Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ взаимодСйствия с ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° Π² качСствС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ для L4 Media Queries, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для распознавания устройств с сСнсорным экраном.

Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ мСдиазапросов Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя: hover,any-hover, pointer, any-pointer. Они ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ возмоТности примСнСния hover ΠΈ Ρ‚ΠΈΠΏΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°. НапримСр, @media (hover: hover) Π±ΡƒΠ΄Π΅Ρ‚ true, Ссли hover элСмСнта активируСтся курсором ΠΌΡ‹ΡˆΠΈ. А @media (any-pointer: coarse) Π±ΡƒΠ΄Π΅Ρ‚ true, Ссли ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π²Π²ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, касаниС ΠΏΠΎ сСнсору). Π­Ρ‚ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ достаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ взаимодСйствия с hover.

Одна ΠΈΠ· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ мСдиазапросы Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π² любоС врСмя. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎΠ± этом ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌΠΈ. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈ ΠΌΡ‹ Π²ΠΎΠ·Π»Π°Π³Π°Π΅ΠΌ большиС Π½Π°Π΄Π΅ΠΆΠ΄Ρ‹ Π½Π° эти спСцификации. Π’ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ всС основныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ эти запросы (ΠΊΡ€ΠΎΠΌΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, IE), Π΄Π΅Π»Π°Π΅Ρ‚ нашС Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ оптимистичным.

Β«Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΆΠ΅Β Π΄Π΅Π»Π°Ρ‚ΡŒ?Β»

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простым Π² использовании ΠΈ обслуТивании.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния UX, ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ приятным для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π° устройствах с сСнсорным экраном Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ hover-эффСкты. ΠžΡΠΎΠ±Ρ‹ΠΉ случай Π·Π΄Π΅ΡΡŒβ€Šβ€”β€ŠΡΡ‚ΠΎ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΈ с сСнсорными экранами. Однако ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Ρ‚Π°ΠΊΠΈΡ… Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°Ρ… Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°Ρ‡ΠΏΠ°Π΄ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΌΡ‹ΡˆΡŒ. Π”Π°ΠΆΠ΅ Ссли hover-эффСкт зависаСт, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΡ‹ΡˆΡŒ / ΡΠ΅Π½ΡΠΎΡ€Π½ΡƒΡŽ панСль, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΈ со ΡΡŠΠ΅ΠΌΠ½Ρ‹ΠΌΠΈ сСнсорными экранами пСрСходят Π² Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π° послС отсоСдинСния. А это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ мСдиазапрос всС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚.

Π’ΠΎΡ‚ тСстовый сайт, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своС устройство, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· этих мСдиазапросов ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ Π½Π΅ΠΌΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ настройки Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных устройств. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π½Π° Android ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСсоотвСтствия, Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ устройства, каТСтся, Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ с Π½ΠΈΠΌΠΈ.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Mezo Istvan: Finally, a CSS only solution toΒ :hover on touchscreens

CSS-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ навСдСния, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ руководство

ΠœΠΈΡ€ Π²Π΅Π±-Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ прСвратился Π² бСскрайниС Π΄ΠΆΡƒΠ½Π³Π»ΠΈ инструмСнтов ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GSAP ΠΈ Framer Motion ΠΈ React Spring, появились, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² DOM.

Однако Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ являСтся скромный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° CSS. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ инструмСнт Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² интСрфСйса, ΠΈ это рабочая лошадка. Π”Π°ΠΆΠ΅ самыС ΠΎΠ±Π²Π΅Ρ‚Ρ€Π΅Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚Π΅Ρ€Π°Π½Ρ‹ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ часто ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ этому инструмСнту.

Π’ этой Ρ‚Π΅ΠΌΠ΅ Π΅ΡΡ‚ΡŒ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π³Π»ΡƒΠ±ΠΈΠ½Π°. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ углубимся ΠΈ ΡƒΠ·Π½Π°Π΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°Ρ… CSS ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для создания сочных, ΠΎΡ‚Ρ‚ΠΎΡ‡Π΅Π½Π½Ρ‹Ρ… Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ.

ЦСлСвая аудитория

Π­Ρ‚ΠΎ руководство ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² с Π»ΡŽΠ±Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΠΎΠΏΡ‹Ρ‚Π°. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Β«CSS-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ 101Β». Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я Π΄ΠΎΠ±Π°Π²ΠΈΠ» нСсколько интСрСсных ΠΈ малоизвСстных Π»Π°ΠΊΠΎΠΌΡ‹Ρ… кусочков — нСзависимо ΠΎΡ‚ вашСго уровня ΠΎΠΏΡ‹Ρ‚Π°, Π΄Π΅Ρ€ΠΆΡƒ ΠΏΠ°Ρ€ΠΈ, Π²Ρ‹ Ρ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ!

Π“Π»Π°Π²Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, — это ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉΡΡ CSS.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ, которая пСрСмСщаСтся ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора, Π±Π΅Π· Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ :

Π’ этом Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ псСвдокласс : hover , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ объявлСниС CSS, ΠΊΠΎΠ³Π΄Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ находится ΠΏΠΎΠ²Π΅Ρ€Ρ… нашСй ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ onMouseEnter событиС Π² JavaScript.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ элСмСнт Π²Π²Π΅Ρ€Ρ…, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ : translateY (-10px) . Π₯отя для этого ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ margin-top , ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ : ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ — Π»ΡƒΡ‡ΡˆΠΈΠΉ инструмСнт для этой Ρ€Π°Π±ΠΎΡ‚Ρ‹.ПозТС ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΡ‡Π΅ΠΌΡƒ.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ измСнСния Π² CSS происходят ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ. Π’ ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ° наша ΠΊΠ½ΠΎΠΏΠΊΠ° Ρ‚Π΅Π»Π΅ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ мСсто! Π­Ρ‚ΠΎ нСсовмСстимо с ΠΌΠΈΡ€ΠΎΠΌ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹, Π³Π΄Π΅ всС происходит постСпСнно.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ с ΠΌΠ΅Ρ‚ΠΊΠΎ Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΌ свойством transition :

transition ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π°:

  1. Имя свойства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

  2. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ

Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько свойств, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ списка, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ запятыми:

  Π’Ρ‹Π±ΠΎΡ€ всСх свойств  

transition-property ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ особоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: всС .Когда всС ΡƒΠΊΠ°Π·Π°Π½Ρ‹, любоС измСняСмоС свойство CSS Π±ΡƒΠ΄Π΅Ρ‚ пСрСнСсСно.

ΠœΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ соблазн ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ экономит Π½Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΏΡ€ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… свойств, Π½ΠΎ я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

По ΠΌΠ΅Ρ€Π΅ развития вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π²Ρ‹ (ΠΈΠ»ΠΈ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹), вСроятно, Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ этот ΠΊΠΎΠ΄. НСоТиданная анимация ΠΌΠΎΠ³Π»Π° ΠΏΡ€ΠΎΡΠΊΠΎΠ»ΡŒΠ·Π½ΡƒΡ‚ΡŒ.

Анимация ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° соль: слишком ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π΅ ΠΏΠΎΡ€Ρ‚ΠΈΡ‚ блюдо.Π‘Ρ‚ΠΎΠΈΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ с Π°Π½ΠΈΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ свойствами.

Когда ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ элСмСнту ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Β«ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉΒ» Ρ„Ρ€Π΅ΠΉΠΌ.

НапримСр: ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ элСмСнт слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 1 сСкунды. Плавная анимация Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 60 ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² сСкунду *, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ 60 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΈ ΠΊΠΎΠ½Ρ†ΠΎΠΌ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСны:

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ мСня!

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ здСсь происходит: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»Π΅ΠΊΠ»Ρ‹ΠΉ ΠΊΡ€ΡƒΠΆΠΎΠΊ прСдставляСт ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.Когда ΠΊΡ€ΡƒΠ³ пСрСмСщаСтся слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, это ΠΊΠ°Π΄Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ„Π»ΠΈΠΏΠ±ΡƒΠΊ.

Π’ этой Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ синхронизации . Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ элСмСнт двиТСтся Π² постоянном Ρ‚Π΅ΠΌΠΏΠ΅; наш ΠΊΡ€ΡƒΠ³ пСрСмСщаСтся Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€.

Π’ CSS доступно нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ со свойством transition-timer-function :

 

Или ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² сокращСнноС свойство transition :

 

linear Ρ€Π΅Π΄ΠΊΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ — Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ двиТСтся Π² эту сторону *.Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ анимация ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠΈΡ€ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹, поэтому ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΡ€Π³Π°Π½ΠΈΡ‡Π½ΠΎΠ΅!

Π”Π°Π²Π°ΠΉΡ‚Π΅ пробСТимся ΠΏΠΎ нашим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌ.

Бсылка Π½Π° эту Ρ‚ΠΎΠ²Π°Ρ€Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ

Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π°

Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π° врываСтся, ΠΊΠ°ΠΊ Π΄ΠΈΠΊΠΈΠΉ Π±Ρ‹ΠΊ, Π½ΠΎ Ρƒ Π½Π΅Π³ΠΎ заканчиваСтся энСргия. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΎΠ½ ΠΊΠΎΡ€Ρ‡ΠΈΡ‚, ΠΊΠ°ΠΊ сонная Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Π°.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ шкалС; ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, насколько Ρ€Π΅Π·ΠΊΠΈΠΌ являСтся Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ°Π΄Ρ€Π°Ρ… ΠΈ насколько ΠΎΠ½ΠΎ становится Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ.

Если Π±Ρ‹ ΠΌΡ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΠ»ΠΈ смСщСниС элСмСнта Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, это выглядСло Π±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Когда Π±Ρ‹ Π²Ρ‹ использовали смСщСния ? Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ поступаСт Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ экрана (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,модальноС появлСниС). БоздаСтся Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²ΠΎΡ€Π²Π°Π»ΠΎΡΡŒ ΠΈΠ·Π΄Π°Π»Π΅ΠΊΠ° ΠΈ останавливаСтся ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Бсылка Π½Π° эту Ρ‚ΠΎΠ²Π°Ρ€Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ

easy-in

easy-in Π½Π΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ easy-out . Он запускаСтся ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈ ускоряСтся:

Как ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, easy-out ΠΏΠΎΠ»Π΅Π·Π΅Π½ для Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΏΠΎΠ»Π΅ зрСния Π²Π½Π΅ экрана. easy-in , СстСствСнно, пригодится для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ: пСрСмСщСния Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ области просмотра.

Π­Ρ‚Π° комбинация ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΊΠΎΠ³Π΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· области просмотра, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· модального ΠΎΠΊΠ½Π°. ВскорС ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ синхронизации.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ easy-in Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π·Π°ΠΊΠ°Π΄Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ элСмСнтом; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС рСзкая остановка ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Бсылка Π½Π° Π΄Π°Π½Π½ΡƒΡŽ Ρ‚ΠΎΠ²Π°Ρ€Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ

Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π°-Π²Ρ‹Ρ…ΠΎΠ΄Π°

Π”Π°Π»Π΅Π΅, Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π°-Π²Ρ‹Ρ…ΠΎΠ΄Π° . Π­Ρ‚ΠΎ комбинация Π΄Π²ΡƒΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ синхронизации:

Π­Ρ‚Π° функция синхронизации являСтся симмСтричной .Π£ Π½Π΅Π³ΠΎ Ρ€Π°Π²Π½ΠΎΠ΅ количСство ускорСний ΠΈ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠΉ.

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ эту ΠΊΡ€ΠΈΠ²ΡƒΡŽ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для всСго, Ρ‡Ρ‚ΠΎ происходит Π² Ρ†ΠΈΠΊΠ»Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° элСмСнт постСпСнно появляСтся ΠΈ исчСзаСт, снова ΠΈ снова).

Π­Ρ‚ΠΎ большой шаг Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с linear , Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²ΠΎ всСм, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

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

Если Π½Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ΄ΠΈΡ€ΠΊΠΈ, easy просто ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅.Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ для лСгкости установки , ΠΎΠ½ нСсиммСтричСн; Он ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ускорСниС ΠΈ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΡ‚Π° .

Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — Ссли Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ синхронизации, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ . ЧСстно говоря, ΠΌΠ½Π΅ это каТСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ. easy — ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв. Если элСмСнт пСрСмСщаСтся, Π½ΠΎ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ просмотра ΠΈ Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· Π½Π΅Π΅, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ .

ВрСмя постоянно

Π’Π°ΠΆΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎΠ±ΠΎ всСх этих дСмонстрациях: врСмя постоянно .Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ синхронизации ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚ 0 Π΄ΠΎ 1 Π·Π° фиксированный ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° Π½Π΅ , Π° , ΠΊΠ°ΠΊ быстро Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ анимация. НСкоторыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ синхронизации ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ быстрСС ΠΈΠ»ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π½ΠΎ Π² этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… всС ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ€ΠΎΠ²Π½ΠΎ Π·Π° 1 сСкунду.

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

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΡ€ΠΈΠ²Ρ‹Π΅

Если прСдоставлСнныС встроСнныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ вашим потрСбностям, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΊΡ€ΠΈΠ²ΡƒΡŽ плавности, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ синхронизации кубичСской ΠΊΡ€ΠΈΠ²ΠΎΠΉ Π‘Π΅Π·ΡŒΠ΅!

 

ВсС значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€, Π½Π° самом Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ просто прСдустановками для этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ кубичСской ΠΊΡ€ΠΈΠ²ΠΎΠΉ Π‘Π΅Π·ΡŒΠ΅ .ВрСбуСтся 4 числа, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… 2 ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ.

ΠšΡ€ΠΈΠ²Ρ‹Π΅ Π‘Π΅Π·ΡŒΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ выходят Π·Π° Ρ€Π°ΠΌΠΊΠΈ этого руководства. Но я скоро Π½Π°ΠΏΠΈΡˆΡƒ ΠΎ Π½ΠΈΡ… большС!

А ΠΏΠΎΠΊΠ° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘Π΅Π·ΡŒΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ ΠΎΡ‚ Lea Verou:

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΊΡ€ΠΈΠ²ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, которая вас устраиваСт, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» Π²Π²Π΅Ρ€Ρ…Ρƒ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΅Π΅ Π² ваш CSS!

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· этого Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ синхронизации.Но Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΄ΠΈΠΊΠΎΠ²ΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² CSS.

Начиная с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Π‘Π΅Π·ΡŒΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΡ€ΠΈΠ²ΡƒΡŽ, которая каТСтся СстСствСнной. Однако послС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ это нСвСроятно Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт .

МнС ΠΏΠΎΡ€Π° ΠΏΡ€ΠΈΠΉΡ‚ΠΈ Π² сСбя

Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒΡΡ: ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ дСмонстрации, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ синхронизации, Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Ρ‹.

По ΠΏΡ€Π°Π²Π΄Π΅ говоря, Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ easy-in , Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ½ΠΊΠΈΠ΅, Ρ‡Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ, Π½ΠΎ я Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ эффСкт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.Π­Ρ‚ΠΎ стало Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ благодаря Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ синхронизации кубичСской ΠΊΡ€ΠΈΠ²ΠΎΠΉ Π‘Π΅Π·ΡŒΠ΅ !

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Ρ‰Π΅

Π Π°Π½Π΅Π΅ ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ анимация Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 60 ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² сСкунду. Однако ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ вычислСния, ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 16,6 миллисСкунды для рисования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π°. На самом Π΄Π΅Π»Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ совсСм Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ; для справки, ΠΌΠΎΡ€Π³Π°Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 100-300 мсСк!

Если наша анимация слишком Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Π° Π² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ€Ρ‹Π²ΠΊΠΎΠΉ ΠΈ Π·Π°ΠΈΠΊΠ°Π½ΠΈΠ΅ΠΌ. Π Π°ΠΌΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ устройство Π½Π΅ успСваСт.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² этом сами, настроив Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт управлСния «Число ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² сСкунду»:

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ часто проявляСтся Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ частоты ΠΊΠ°Π΄Ρ€ΠΎΠ² , Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это Π½Π΅ идСальная симуляция.

Анимация — это ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ глубокая ΠΈ интСрСсная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, выходящая Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° Ρ€Π°ΠΌΠΊΠΈ этого Π²Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ руководства. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π²Π°ΠΆΠ½Ρ‹Π΅, Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹:

  1. НСкоторыС свойства CSS Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡ€ΠΎΠΆΠ΅ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.НапримСр, высота — ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ΅ свойство, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ влияСт Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚. Когда высота элСмСнта ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ, это Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ†Π΅ΠΏΠ½ΡƒΡŽ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ; всСм Π΅Π³ΠΎ Π±Ρ€Π°Ρ‚ΡŒΡΠΌ ΠΈ сСстрам Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ пространство!

  2. Π”Ρ€ΡƒΠ³ΠΈΠ΅ свойства, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ background-color , Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ довольно Π΄ΠΎΡ€ΠΎΠ³ΠΎ. Они Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ свСТСго слоя краски Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ€Π°ΠΌΠ΅, Ρ‡Ρ‚ΠΎ нСдСшСво.

  3. Π”Π²Π° свойства — ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ — ΠΎΡ‡Π΅Π½ΡŒ дСшСво для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.Если анимация Π² настоящСС врСмя настраиваСт свойство, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ width ΠΈΠ»ΠΈ left , ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ , пСрСмСстив Π΅Π³ΠΎ Π² transform (хотя Π½Π΅ всСгда ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ эффСкта).

  4. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ протСстируйтС Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π½Π° самом Π½ΠΈΠ·ΠΊΠΎΠΌ устройствС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Ρ†Π΅Π»Π΅Π½ ваш сайт / ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΡˆΠ° машина для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, вСроятно, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· быстрСС Π΅Π΅.

Если Π²Π°ΠΌ интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, я выступал Π½Π° эту Ρ‚Π΅ΠΌΡƒ Π½Π° React Rally.Он углубляСтся Π² эту Ρ‚Π΅ΠΌΡƒ:

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

АппаратноС ускорСниС

Π’ зависимости ΠΎΡ‚ вашСго Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ ОБ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ΅ нСбольшоС Π½Π΅ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

Pay close Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π±ΡƒΠΊΠ²Π°ΠΌ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ выглядят слСгка Π³Π»ΡŽΡ‡Π½Ρ‹ΠΌΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ всС встало Π½Π° свои мСста?

Π­Ρ‚ΠΎ происходит ΠΈΠ·-Π·Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ CPU ΠΈ GPU ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.Позволь ΠΌΠ½Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ.

Когда ΠΌΡ‹ Π°Π½ΠΈΠΌΠΈΡ€ΡƒΠ΅ΠΌ элСмСнт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ , Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΠ½ΠΎΠ³Π΄Π° пытаСтся ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ пиксСли Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅, ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ всС Π½Π° графичСский процСссор Π² Π²ΠΈΠ΄Π΅ тСкстуры. ГрафичСскиС процСссоры ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ прСобразованиями Π½Π° основС тСкстур, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π³Π»Π°Π΄ΠΊΡƒΡŽ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ. Π­Ρ‚ΠΎ извСстно ΠΊΠ°ΠΊ Β«Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС».

Π’ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: графичСскиС процСссоры ΠΈ процСссоры ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ.Когда Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅Π³ΠΎ графичСскому процСссору, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ всС Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ сдвигаСтся.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ свойство CSS:

 

will-change — это свойство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π½Π°ΠΌ Π½Π°ΠΌΠ΅ΠΊΠ½ΡƒΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ собираСмся Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для этот случай.

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ позволяСт графичСскому процСссору ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ этот элСмСнт всС врСмя . Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ процСссором ΠΈ графичСским процСссором, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ «фиксации Π½Π° мСстС».

will-change позволяСт Π½Π°ΠΌ Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты слСдуСт Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡ‚ΡŒ. Π£ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π΅ΡΡ‚ΡŒ своя нСпостиТимая Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΠΎΠΊΡ€ΡƒΠ³ этого ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, ΠΈ я Π±Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π» ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ это Π½Π° волю случая.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ прСимущСство Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния: ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСимущСством Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° субпиксСлСй .

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ эти Π΄Π²Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π½ΠΈΠΆΠ΅. Один выполняСтся с использованиСм с Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ ΠΊΡ€Π°Π΅ΠΌ , поэтому ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ускорСн. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ?

Бвойства, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ margin-top , Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΡƒΠ±ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½ΡƒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡ‚ΡŒ Π΄ΠΎ блиТайшСго пиксСля, создавая ступСнчатый эффСкт рСзкости. transform , Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ пиксСлями благодаря ΡƒΠ»ΠΎΠ²ΠΊΠ΅ сглаТивания графичСского процСссора.

ΠšΠΎΠΌΠΏΡ€ΠΎΠΌΠΈΡΡΡ‹

Ничто Π² ΠΆΠΈΠ·Π½ΠΈ Π½Π΅ даСтся бСсплатно, ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС — Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

ΠŸΠ΅Ρ€Π΅Π΄Π°Π² отрисовку элСмСнта графичСскому процСссору, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ большС видСопамяти, Π° этот рСсурс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½, особСнно Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

Π­Ρ‚ΠΎ Π½Π΅ такая большая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠ°ΠΊ Ρ€Π°Π½ΡŒΡˆΠ΅ — я ΠΏΡ€ΠΎΠ²Π΅Π» нСсколько тСстов Π½Π° Xiaomi Redmi 7A, популярном Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΎΠΌ смартфонС Π² Индии, ΠΈ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.Волько Π½Π΅ примСняйтС ΡˆΠΈΡ€ΠΎΠΊΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ элСмСнтам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ. ΠžΠ±Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Π³Π΄Π΅ Π²Ρ‹ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ свойства

АппаратноС ускорСниС сущСствуСт ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ — фактичСски, дольшС, Ρ‡Π΅ΠΌ свойство ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ свойство !

Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ это Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ прСобразования, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ transform: translateZ (0px) . Π”Π°ΠΆΠ΅ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 0px Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅Π³ΠΎ графичСскому процСссору, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ являСтся сильной стороной графичСского процСссора.Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ backface-visibility: hidden .

Когда Π²Ρ‹ΡˆΠ΅Π» will-change , ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, сСмантичСски Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΉ способ Π½Π°ΠΌΠ΅ΠΊΠ½ΡƒΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ элСмСнт слСдуСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Однако Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠΎΡ€Π°Ρ… Ρƒ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ .

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ всС эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±Ρ‹Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½Ρ‹. Π― ΠΏΡ€ΠΎΠ²Π΅Π» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ тСстированиС ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ Π»ΡƒΡ‡ΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… с Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ .Но Π²Ρ‹ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ собствСнноС тСстированиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… устройствах ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ….

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

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, управляСмоС дСйствиСм

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π· взглянСм Π½Π° Π½Π°ΡˆΡƒ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡŽΡ‰ΡƒΡŽΡΡ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Hello WorldΒ».

Hello World

Π’ Π½Ρ‹Π½Π΅ΡˆΠ½Π΅ΠΌ Π²ΠΈΠ΄Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ «ΡΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ» ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ — анимация Π²Ρ…ΠΎΠ΄Π° такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ анимация Π²Ρ‹Ρ…ΠΎΠ΄Π°:

  • ΠŸΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора ΠΌΡ‹ΡˆΠΈ Π½Π° элСмСнт ΠΎΠ½ смСщаСтся Π²Π²Π΅Ρ€Ρ… Π½Π° 10 пиксСлСй. 250 мс

  • Когда ΠΌΡ‹ΡˆΡŒ отодвигаСтся, элСмСнт смСщаСтся Π²Π½ΠΈΠ· Π½Π° 10 пиксСлСй Π·Π° 250 мс

МалСнькая милая Π΄Π΅Ρ‚Π°Π»ΡŒ — Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ собствСнныС настройки ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°.Для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ навСдСния ΠΌΠ½Π΅ нравится Π΄Π΅Π»Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π²Ρ…ΠΎΠ΄Π° быстрой ΠΈ быстрой, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ анимация Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ расслаблСнной ΠΈ вялой:

Π”Ρ€ΡƒΠ³ΠΎΠΉ распространСнный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ — ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΊΠ½Π°. Для ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΊΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ с Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈ , Π° для Π²Ρ‹Ρ…ΠΎΠ΄Π° с Π±ΠΎΠ»Π΅Π΅ быстрой Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ - с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ Π² :

Π­Ρ‚ΠΎ нСбольшая Π΄Π΅Ρ‚Π°Π»ΡŒ, Π½ΠΎ ΠΎΠ½Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большСй ΠΈΠ΄Π΅Π΅.

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄ΡƒΠΌΠ°ΡŽΡ‚ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… состояний : Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° эту ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ состояниС «зависания» ΠΈ состояниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.ВмСсто этого, Ρ‡Ρ‚ΠΎ, Ссли Π±Ρ‹ ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ ΠΎ дСйствиях ? ΠœΡ‹ Π°Π½ΠΈΠΌΠΈΡ€ΡƒΠ΅ΠΌ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, думая Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… событий, Π° Π½Π΅ состояний. Π£ нас Π΅ΡΡ‚ΡŒ анимация Π²Π²ΠΎΠ΄Π° ΠΌΡ‹ΡˆΠΈ ΠΈ анимация Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΌΡ‹ΡˆΠΈ.

Вобиас Алин ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ эта идСя ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сСмантичСски Π·Π½Π°Ρ‡ΠΈΠΌΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ уровня Π² своСм Π±Π»ΠΎΠ³Π΅ Meaningfun Motion with Action-Driven Animation.

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

Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ

Π§Ρ‚ΠΎ ΠΆ, ΠΌΡ‹ довольно Π΄Π°Π»Π΅ΠΊΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΠ»ΠΈΡΡŒ Π² своСм стрСмлСнии ΠΎΠ²Π»Π°Π΄Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ CSS, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π° Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… стоит Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ.ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°.

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠΆΠ΅ сталкивался с этим Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅:

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ любСзно прСдоставлСно Π‘Π΅Π½ΠΎΠΌ КамСнсом

Как Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Π²Ρ‹, вСроятно, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это происходит: Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список остаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора! Когда ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΌΡ‹ΡˆΡŒ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ для Π²Ρ‹Π±ΠΎΡ€Π° Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ элСмСнта, наш курсор Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹, ΠΈ мСню закрываСтся.

Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ довольно элСгантным способом, Π½Π΅ прибСгая ΠΊ JS.ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ transition-delay !

 

transition-delay позволяСт Π½Π°ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ статус-ΠΊΠ²ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ этом случаС, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ .dropdown-wrapper , Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 300 мс Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит. Если ΠΈΡ… ΠΌΡ‹ΡˆΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² элСмСнт Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… этого 300-миллисСкундного ΠΎΠΊΠ½Π°, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ происходит.

По ΠΏΡ€ΠΎΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ 300 мс ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ срабатываСт Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список исчСзаСт Ρ‡Π΅Ρ€Π΅Π· 400 мс.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Π΅Π· стСнографии?

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ использовали сокращСниС transition для объСдинСния всСх Π½Π°ΡˆΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, связанных с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ. transition-delay Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с сокращСниСм:

 ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Ρ‰Π΅   

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

ΠœΠ΅Ρ€Ρ†Π°Π½ΠΈΠ΅ Π³ΠΈΠ±Π΅Π»ΠΈ

Когда элСмСнт пСрСмСщаСтся Π²Π²Π΅Ρ€Ρ… ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ остороТны. Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ случайно Β«ΠΌΠ΅Ρ€Ρ†Π°Π½ΠΈΠ΅ ΡΡƒΠ΄ΡŒΠ±Ρ‹Β»:

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π­Ρ‚ΠΎΡ‚ GIF-Ρ„Π°ΠΉΠ» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ΅Ρ€Ρ†Π°ΡŽΡ‰Π΅Π΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΏΠ°Π΄ΠΊΠΈ Ρƒ людСй с ΡΠ²Π΅Ρ‚ΠΎΡ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ эпилСпсиСй.

Reveal

Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ эффСкт Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дСмонстрациях Π½Π° этой страницС!

НСполадка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ΡˆΡŒ приблиТаСтся ΠΊ Π³Ρ€Π°Π½ΠΈΡ†Π΅ элСмСнта.Π­Ρ„Ρ„Π΅ΠΊΡ‚ навСдСния Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ элСмСнт ΠΈΠ·-ΠΏΠΎΠ΄ ΠΌΡ‹ΡˆΠΈ, Ρ‡Ρ‚ΠΎ заставляСт Π΅Π³ΠΎ ΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΠ΄ ΠΌΡ‹ΡˆΡŒΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ срабатываниС эффСкта навСдСния… ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· Π² сСкунду.

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ? Π£Π»ΠΎΠ²ΠΊΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ ΠΎΡ‚ эффСкта . Π’ΠΎΡ‚ быстрый ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

У нашСго

Автор записи

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *