Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню css: Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню | Schoolsw3.com


14.08.1971 Facebook Twitter LinkedIn Google+ Π Π°Π·Π½ΠΎΠ΅


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

грамотная навигация сайта с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стилСй

ΠžΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°: рСализация Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСня с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HTML ΠΈ CSS, обСспСчСниС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ уровня доступности Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, фокусировка ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ β€” ΠΎΠ± этом Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅.

CSS становится всС Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠ°ΠΊ CSS-сСтка ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ свойства (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ CSS), ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΡ€Π΅Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. НСкоторыС ΠΈΠ· этих Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ своСй Ρ†Π΅Π»ΡŒΡŽ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ красивСС, Π½ΠΎ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ доступным, ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ создания доступных стилСй. Π― ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡΡŒ этой Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния!

ΠžΠ±Ρ‰ΠΈΠΉ шаблон ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, β€” это Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ отобраТСния связанной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ нагромоТдая большого количСства ΠΊΠ½ΠΎΠΏΠΎΠΊ, тСкста ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π§Π°Ρ‰Π΅ всСго ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для областСй Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ сайта.

Поиск Π² Google ΠΏΠΎ запросу Β«Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню» прСдоставляСт ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс ΠΏΠΎ вСрсткС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта с нуля!

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ соврСмСнныС сайты Π½Π° HTML5 ΠΈ CSS3

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· этих мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ CSS. ΠœΡ‹ создадим список ссылок Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

<nav role=»navigation»> <ul> <li><a href=»#»>One</a></li> <li><a href=»#»>Two</a></li> <li><a href=»#»>Three</a></li> </ul> </nav>

<nav role=»navigation»>

Β Β <ul>

Β Β Β Β <li><a href=»#»>One</a></li>

Β Β Β Β <li><a href=»#»>Two</a></li>

Β Β Β Β <li><a href=»#»>Three</a></li>

Β Β </ul>

</nav>

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ подмСню Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ элСмСнтС Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ список ссылок Π² этом элСмСнтС списка:

<nav role=»navigation»> <ul> <li><a href=»#»>One</a></li> <li><a href=»#»>Two</a> <ul> <li><a href=»#»>Sub-1</a></li> <li><a href=»#»>Sub-2</a></li> <li><a href=»#»>Sub-3</a></li> </ul> </li> <li><a href=»#»>Three</a></li> </ul> </nav>

<nav role=»navigation»>

Β Β <ul>

Β Β Β Β <li><a href=»#»>One</a></li>

Β Β Β Β <li><a href=»#»>Two</a>

Β Β Β Β Β Β <ul>

Β Β Β Β Β Β Β Β <li><a href=»#»>Sub-1</a></li>

Β Β Β Β Β Β Β Β <li><a href=»#»>Sub-2</a></li>

Β Β Β Β Β Β Β Β <li><a href=»#»>Sub-3</a></li>

Β Β Β Β Β Β </ul>

Β Β Β Β </li>

Β Β Β Β <li><a href=»#»>Three</a></li>

Β Β </ul>

</nav>

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ двухуровнСвая систСма Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ содСрТимоС Π±Ρ‹Π»ΠΎ скрыто ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ CSS. ВсС свойства стилСй для ясности взаимодСйствия Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

li { display: block; transition-duration: 0.5s; } li:hover { cursor: pointer; } ul li ul { visibility: hidden; opacity: 0; position: absolute; transition: all 0.5s ease; margin-top: 1rem; left: 0; display: none; } ul li:hover > ul, ul li ul:hover { visibility: visible; opacity: 1; display: block; } ul li ul li { clear: both; width: 100%; }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

li {

display: block;

transition-duration: 0.

5s;

}

Β 

li:hover {

Β Β cursor: pointer;

}

Β 

ul li ul {

Β Β visibility: hidden;

Β Β opacity: 0;

Β Β position: absolute;

Β Β transition: all 0.5s ease;

Β Β margin-top: 1rem;

Β Β left: 0;

Β Β display: none;

}

Β 

ul li:hover > ul,

ul li ul:hover {

Β Β visibility: visible;

Β Β opacity: 1;

Β Β display: block;

}

Β 

ul li ul li {

Β Β clear: both;

Β Β width: 100%;

}

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

ВсС ΡƒΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Π½ΠΎ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ Π΅Ρ‰Π΅ Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ. Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ β€” это основная Ρ‡Π°ΡΡ‚ΡŒ развития вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π· сСйчас Π²Π°ΠΌ прСдоставляСтся прСкрасная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΅Π΅.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ role=Β»navigationΒ» β€” это Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π½Π°Ρ‡Π°Π»ΠΎ, Π½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ панСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π±Ρ‹Π»Π° доступной, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΉ (ΠΈ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ фокусом ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт), Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ экранный Π΄ΠΈΠΊΡ‚ΠΎΡ€ Ρ‚ΠΎΡ‡Π½ΠΎ считывал вслух Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сСйчас Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ фокусом.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ навСсти курсор Π½Π° любой ΠΈΠ· элСмСнтов списка ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π²Ρ‹Π΄Π΅Π»Π΅Π½ фокусом, Π½ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»Π°Π²ΠΈΡˆΡƒ табуляции. ΠŸΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Π’Ρ‹ тСряСтС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Π³Π΄Π΅ сСйчас фокус. Когда Π²Ρ‹ выдСляСтС фокусом элСмСнт Two Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π³Π΄Π΅ сСйчас находится фокус, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»Π°Π²ΠΈΡˆΡƒ табуляции ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту (ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² подмСню), этот фокус исчСзаСт.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ тСорСтичСски Π²Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ фокусом элСмСнт подмСню, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° чтСния с экрана смоТСт ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это, считав Sub-One, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π½Π΅ смогут ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ сСйчас происходит.

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

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Ρƒ нас Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ псСвдо-класс CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ даст Π½Π°ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π² этом случаС, ΠΈ ΠΎΠ½ называСтся :focus-within.

РСшСниС: «:focus-inside»

ПсСвдо-сСлСктор :focus-within являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ CSS Selectors Level 4 Spec ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π΅Π³ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов Π²Ρ‹Π΄Π΅Π»Π΅Π½ фокусом. Π’ нашСм случаС это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Sub-One ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ :focus-within, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‚ΠΈΠ»ΡŒ :hover для Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ находится Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ. Π’ нашСм случаС это Π±ΡƒΠ΄Π΅Ρ‚ ul li:focus-within > ul:

ul li:hover > ul, ul li:focus-within > ul, ul li ul:hover { visibility: visible; opacity: 1; display: block; }

ul li:hover > ul,

ul li:focus-within > ul,

ul li ul:hover {

Β Β visibility: visible;

Β Β opacity: 1;

Β Β display: block;

}

Π—Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ! Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!

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

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс ΠΏΠΎ вСрсткС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта с нуля!

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ соврСмСнныС сайты Π½Π° HTML5 ΠΈ CSS3

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для прямых ссылок, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

a:hover, a:focus { … }

a:hover,

a:focus {

Β Β …

}

Но Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ примСняСм стили hover Π½Π° основС Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ li, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ снова ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ :focus-within, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π²ΠΈΠ΄, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°Π±ΡƒΠ»ΡΡ†ΠΈΡŽ. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ фокусом li (Ссли Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ tabindex=Β«0Β»). ΠœΡ‹ фактичСски выдСляСм фокусом ссылку (Π°) Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ. :focus-within позволяСт Π½Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ стили ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ li, ΠΊΠΎΠ³Π΄Π° фокусом Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° ссылка (довольно ΠΊΡ€ΡƒΡ‚ΠΎ!):

li:hover, li:focus-within { . .. }

li:hover,

li:focus-within {

Β Β …

}

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ примСняСм ΡΡ‚ΠΈΠ»ΡŒ фокуса, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ рСкомСндуСтся (ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΡΡ‚ΠΈΠ»ΡŒ фокуса β€” этот синий ΠΊΠΎΠ½Ρ‚ΡƒΡ€). ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это:

li:focus-within a { outline: none; }

li:focus-within a {

Β Β outline: none;

}

Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ выдСляСм фокусом элСмСнт Π²Π½ΡƒΡ‚Ρ€ΠΈ списка Ρ‡Π΅Ρ€Π΅Π· ссылку (a), ΠΊ элСмСнту ссылки (a) Π½Π΅ примСняСтся ΠΊΠΎΠ½Ρ‚ΡƒΡ€. Π­Ρ‚ΠΎ довольно бСзопасно, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π·Π°Π΄Π°Π΅ΠΌ стили ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для состояния навСдСния курсора, ΠΈ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ :focus-within, ссылка ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΎΠΌ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ нашС мСню выглядит Ρ‚Π°ΠΊ:

ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ мСню со стилями для состояний :focus-within, :hover ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΎΠΌ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ фокусом

Π§Ρ‚ΠΎ насчСт ARIA?

Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ доступности, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎ ΠΌΠ΅Ρ‚ΠΊΠ°Ρ… ΠΈ состояниях ARIA. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° со встроСнной Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ здСсь ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π₯Π΅ΠΉΠ΄ΠΎΠ½Π° ΠŸΠΈΠΊΠ΅Ρ€ΠΈΠ½Π³Π°. ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ARIA ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

<nav role=»navigation»> <ul> <li><a href=»#»>One</a></li> <li><a href=»#» aria-haspopup=»true»>Two</a> <ul aria-label=»submenu»> <li><a href=»#»>Sub-1</a></li> <li><a href=»#»>Sub-2</a></li> <li><a href=»#»>Sub-3</a></li> </ul> </li> <li><a href=»#»>Three</a></li> </ul> </nav>

<nav role=»navigation»>

Β Β <ul>

Β Β Β Β <li><a href=»#»>One</a></li>

Β Β Β Β <li><a href=»#» aria-haspopup=»true»>Two</a>

Β Β Β Β Β Β <ul aria-label=»submenu»>

Β Β Β Β Β Β Β Β <li><a href=»#»>Sub-1</a></li>

Β Β Β Β Β Β Β Β <li><a href=»#»>Sub-2</a></li>

Β Β Β Β Β Β Β Β <li><a href=»#»>Sub-3</a></li>

Β Β Β Β Β Β </ul>

Β Β Β Β </li>

Β Β Β Β <li><a href=»#»>Three</a></li>

Β Β </ul>

</nav>

Π’Ρ‹ добавляСтС aria-haspopup=Β»trueΒ» ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌΡƒ мСню, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ состояниС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ aria-label=Β»submenuΒ» для самого Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню (Π² нашСм случаС наш список с class=Β»dropdownΒ»).

Π­Ρ‚ΠΈ свойства прСдоставят Π²Π°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для отобраТСния Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, Π½ΠΎ нСдостатком являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ JavaScript.

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

Говоря ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… слоТностях, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ. Π₯отя :focus-within довольно Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ поддСрТиваСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Internet Explorer ΠΈ Edge Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π΅Π³ΠΎ, поэтому ваши ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π½Π΅ смогут ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ мСню.

Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ взяты с Caniuse, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Число ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с этой вСрсии.

ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ здСсь Π±ΡƒΠ΄Π΅Ρ‚ использованиС ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ARIA, Ρ‚Π°ΠΊ ΠΈ CSS :focus-within.

Автор: Una Kravets

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: //css-tricks.com/

РСдакция: Команда webformyself.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс ΠΏΠΎ вСрсткС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сайта с нуля!

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ соврСмСнныС сайты Π½Π° HTML5 ΠΈ CSS3

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

PSD to HTML

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° вСрстки сайта Π½Π° CSS Grid с нуля

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ

CSS: Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ

ΠžΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ css-мСню сдСланноС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ display:none;/display:block; повСшСнного Π½Π° hover ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ двумя Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΌΠΈ нСдостатками:

β€” подмСню показываСтся ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ курсор ΠΌΡ‹ΡˆΠΈ ΠΏΠΎΠΏΠ°Π» Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°
β€” подмСню ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ курсор Π²Ρ‹ΡˆΠ΅Π» Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ подмСню

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ мСню:

<ul>
    <li>
        <a href="#">item</a>
        <ul>
            <li>subitem 1</li>
            <li>subitem 2</li>
        </ul>
   </li>
</ul>

<style>
. menu {
    margin: 0;
    padding: 0;
    list-style: none;
}
.menu .menu-item {
    float: left;
    margin: 0 1px 0 0;
    padding: 0;
    background: #E1E1E1;
}
.menu .menu-item a {
    display: block;
    padding: 5px 10px;
}
.menu .submenu {
    display: none; /* По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ скрываСм подмСню */
    position: absolute;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #E1E1E1;
}
.menu .menu-item:hover .submenu {
    display: block; /* ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ подмСню ΠΏΡ€ΠΈ Ρ…ΠΎΠ²Π΅Ρ€Π΅ */
}
.menu .submenu-item {
    margin: 0;
    padding: 5px 10px;
}
</style>

Π”Π΅ΠΌΠΎ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΊΠ°Π·ΠΎΠΌ ΠΈ скрытиСм подмСню Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ javascript, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ наткнулся Π½Π° css Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

Π’Π΅ΡΡŒ фокус Π² свойствС transition, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ Π΅Π³ΠΎ подсвойствС transition-delay, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΊΠ°Π·ΠΎΠΌ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ:

.menu .submenu {
    opacity: 0; /* По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ скрываСм подмСню */
    visibility: hidden;
    transition-property: opacity, visibility; /* Π’Π°ΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ transition ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΎΡΡŒ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ свойствам */
    transition-duration: 0. 2s; /* ДобавляСм Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ 0.3 сСк. */
    transition-delay: 0.15s; /* ДобавляСм Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² 0.15 сСк. */
}
.menu .menu-item:hover .submenu {
    opacity: 1; /* ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ подмСню ΠΏΡ€ΠΈ Ρ…ΠΎΠ²Π΅Ρ€Π΅ */
    visibility: visible;
}

Π”Π΅ΠΌΠΎ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ нСльзя Π²Π΅ΡˆΠ°Ρ‚ΡŒ Π½Π° display, Ρ‚ΠΎ для скрытия подмСню приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ связку opacity:0; visibility:hidden;.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HTML ΠΈ CSS

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ ΠΈ иСрархичСскоС прСдставлСниС всСх основных Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню с HTML Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΡΡ списком, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ языка гипСртСкста ΠΈ CSS.

  1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π° Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ сайта Ρ‚Π΅Π³ <nav>, <header> β€” для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ·ΠΊΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ <div>, Ссли Π½Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ этот ΠΊΠΎΠ΄ Π² элСмСнт <div>, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ стили для всСго мСню:
<div>
 <nav>
     </nav>
</div>
  1. Π—Π°Π΄Π°ΠΉΡ‚Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ класса. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ класса ΠΏΠΎΠ·ΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ этих элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS. Π—Π°Π΄Π°ΠΉΡ‚Π΅ названия классов для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ мСню с Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΡΡ списком HTML:
<div>
<nav>
</nav>
</div>
  1. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ список ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню. НСупорядочСнный список (<ul>) содСрТит ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню (<li>), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ΡŒ курсор ΠΌΡ‹ΡˆΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс Β«clearfixΒ» для элСмСнтов списка. ΠœΡ‹ вСрнСмся ΠΊ этому ΠΏΠΎΠ·ΠΆΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ CSS:
<div>
   <nav>
<ul>
   <li>Home</li>
              <li>Contributors</li>
         <li>Contact Us</li>
 </ul>
   </nav>
</div>
  1. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ссылок. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ссылки Π½Π° страницы ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ². Π”Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ Π½Π΅ содСрТат ссылок Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ссылки Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π°Π½ΠΊΠΎΡ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«#!Β»), Ρ‡Ρ‚ΠΎΠ±Ρ‹ курсор ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ мСнял внСшний Π²ΠΈΠ΄ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° Π½ΠΈΡ…. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Contact Us Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ Π²Π΅Π΄Π΅Ρ‚, Π½ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π²Π° ΠΏΡƒΠ½ΠΊΡ‚Π° Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка HTML CSS содСрТат ссылки Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹:
<div>
   <nav>
      <ul>
       <li><a href="/">Home</a></li>
         <li><a href="/Contributors">Contributors</a>
         </li>
         <li><a href="#!">Contact Us</a>
         </li>
      </ul>
   </nav>
 </div>
  1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списков Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… элСмСнтов. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ установим стили, эти Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки HTML станут Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ мСню. Π’Π»ΠΎΠΆΠΈΡ‚Π΅ список Π² элСмСнт, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ΡŒ курсор. Π—Π°Π΄Π°ΠΉΡ‚Π΅ имя класса ΠΈ ссылку, ΠΊΠ°ΠΊ ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ Ρ€Π°Π½Π΅Π΅:
<div>
   <nav>
      <ul>
         <li><a href="/">Home</a></li>
         <li><a href="/Contributors">Contributors</a>
         <ul>
            <li><a href="/jordan">Michael Jordan</a></li>
            <li><a href="/hawking">Stephen Hawking</a></li>
         </ul>
         </li>
         <li><a href="#!">Contact Us</a>
         <ul>
            <li><a href="mailto:bugsupport@company. com">Report a Bug</a></li>
            <li><a href="/support">Customer Support</a></li>
         </ul>
         </li>
      </ul>
   </nav>
</div>
  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ CSS. РазмСститС ссылку Π½Π° CSS стили Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ <head> HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ссли Π²Ρ‹ Π΅Ρ‰Π΅ этого Π½Π΅ сдСлали. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ основных свойств CSS, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ настройка ΡˆΡ€ΠΈΡ„Ρ‚Π° ΠΈ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°:
  1. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ clearfix. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ класс Β«clearfixΒ«, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊ списку мСню? Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, элСмСнты HTML Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ Ρ„ΠΎΠ½ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты. НСслоТная настройка CSS ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Π’ΠΎΡ‚ простоС ΠΈ красивоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, хотя ΠΎΠ½ΠΎ Π½Π΅ поддСрТиваСтся Π² Internet Explorer 7 ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях:
.clearfix:after {
content: "";
display: table;
}
  1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ структуры. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Π·Π°Π΄Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ мСню вдоль Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части страницы ΠΈ скрываСт Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты. Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ каркас ΠΎΠ±Ρ‰Π΅ΠΉ структуры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтах Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΡΠ²Π΅Ρ€Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка HTML. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ·ΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами CSS, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ отступы ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹:
.nav-wrapper {
   width:100%;
   background: #999;
}

.nav-menu {
   position:relative;
   display:inline-block;
}

.nav-menu li {
   display: inline;
   list-style-type: none;
}

.sub-menu {
   position:absolute;
   display:none;
   background: #ccc;
}
  1. Π—Π°Π΄Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора ΠΌΡ‹ΡˆΠΈ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ скрыты. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ рСализуСтся Π²Ρ‹Π²ΠΎΠ΄ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора ΠΌΡ‹ΡˆΠΈ Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт:
.nav-menu ul li:hover > ul {
   display:inline-block;
}

Если ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка HTML мСню Π²Π΅Π΄ΡƒΡ‚ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ мСню, Ρ‚ΠΎ Π»ΡŽΠ±Ρ‹Π΅ свойства, добавляСмыС здСсь, Π±ΡƒΠ΄ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π½ΠΈΡ…. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… мСню ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ вмСсто этого Β«. nav-menu > ulΒ«:

  1. ΠœΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… мСню стрСлками. Π’Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ элСмСнт содСрТит Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стрСлки Π²Π½ΠΈΠ·. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ добавляСт стрСлку ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту мСню:
.nav-menu > ul > li:after {
   content: "25BC"; /*escaped unicode for the down arrow*/
   font-size: .5em;
   display: inline;
   position: relative;
   }

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ стрСлки ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойств up, bottom, right ΠΈΠ»ΠΈ left.

Если Π½Π΅ всС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка HTML содСрТат Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню, Π½Π΅ Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡΡ‚ΠΈΠ»ΡŒ для всСго класса nav-menu. ВмСсто этого Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ класс (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, dropdown) для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта li, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ стрСлку. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ этот класс, Π° Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠ΄Π΅ Π²Ρ‹ΡˆΠ΅:

  1. Настройка отступов, Ρ„ΠΎΠ½Π° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… свойств. Π’Π΅ΠΏΠ΅Ρ€ΡŒ нашС мСню являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ нСсколько ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π΅Π³ΠΎ внСшний Π²ΠΈΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСдактирования ΠΊΠΎΠ΄Π° CSS.
  • Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню Π² Ρ„ΠΎΡ€ΠΌΡƒ, HTML 5 позволяСт Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ элСмСнта ;
  • Бсылка <a href=»#»> ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ страницу Π²Π²Π΅Ρ€Ρ…, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ссылка Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π°Π½ΠΊΠΎΡ€, такая ΠΊΠ°ΠΊ <a href=»#!»>, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ страницу. Если это каТСтся Π²Π°ΠΌ Π½Π΅ слишком Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΌ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ внСшний Π²ΠΈΠ΄ курсора с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS.

Π’Π°Π΄ΠΈΠΌ Π”Π²ΠΎΡ€Π½ΠΈΠΊΠΎΠ²Π°Π²Ρ‚ΠΎΡ€-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ ΡΡ‚Π°Ρ‚ΡŒΠΈ Β«How to Create a Dropdown Menu in HTML and CSSΒ»

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню с поиском Π½Π° CSS3 ΠΈ HTML

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΊΠ°ΠΆΡƒ ΠΊΠ°ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS3 ΠΈ HTML5 ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ красивоС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню с ΠΏΠΎΠ»Π΅ΠΌ поиска.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° мСню Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ Π² пСсочницС codepen. Π’ качСствС CSS прСпроцСссора ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ SCSS. Π’Π°ΠΊ ΠΆΠ΅, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ автоматичСскиС прСффиксы autoprefixer, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ Π½Π΅ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ прСффиксов ΠΊ свойствам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

Для ΠΈΠΊΠΎΠ½ΠΎΠΊ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ FontAwesome.

На этом ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°. Начнём с продумывания HTML ΠΊΠΎΠ΄Π°.

HTML

НавигационноС мСню Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой нСсортированный список с классом .navigation, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ элСмСнтов:

  • ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ ссылка
  • Π€ΠΎΡ€ΠΌΠ° поиска
  • Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню
<nav>
  <ul>
    <li>
        <a href="#">
           <i></i>
        </a>
    </li>
    <li><a href="#">ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅</a></li>
    <li><a href="#">Бтатистика</a></li>
    <li>
        <form>
            <input type="search" placeholder="Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ„Ρ€Π°Π·Ρƒ для поиска..." />
            <button>
                <i></i>
            </button>
        </form>
    </li>
    <li>
        <a href="#">
          ΠžΠΏΡ†ΠΈΠΈ <i></i>
        </a>
        <ul>
            <li><a href="#">Настройки</a></li>
            <li><a href="#">ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅</a></li>
            <li><a href="#">Бтатистика</a></li>
            <li><a href="#">Π—Π°ΠΊΠ°Π·Ρ‹</a></li>
        </ul>
    </li>
  </ul>
</nav>

CSS стили

ΠŸΡ€ΠΎΠΉΠ΄Ρ‘ΠΌΡΡ ΠΏΠΎ основным ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°ΠΌ Π² вСрсткС. Π’Π΅ΡΡŒ ΠΊΠΎΠ΄ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² codepen: https://codepen.io/nikitakiselev/pen/JKWvPR.

Flexbox

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС элСмСнты списка .navigation ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΈΡΡŒ Π² строку ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ CSS свойство display: flex:

.navigation {
  display: flex;
}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, всС Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты li Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² строку.

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню

МСню сдСлано Ρ‚ΠΎΠ»ΡŒΠΊΠΎ срСдствами CSS3. Π£ этого способа Π΅ΡΡ‚ΡŒ свои нСдостатки, Π½ΠΎ ΠΈΠ·-Π·Π° своСй простоты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ.

Π’ CSS3 Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ свойство transition, ΠΊΠΎΡ‚ΠΎΡ€Π΅ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… CSS свойств Ρƒ элСмСнта ΠΏΠ»Π°Π²Π½Ρ‹ΠΌ.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ мСню Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ скрыто. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ display: none, Π½ΠΎ transition Π½Π΅ Π°Π½ΠΈΠΌΠΈΡ€ΡƒΠ΅Ρ‚ это свойство, Ρ‚.ΠΊ. Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ числового значСния Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ состояния. На ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ свойство opacity: 0, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ элСмСнт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ.

.subnav {
        opacity: 0;
        transition: opacity . 3s;
}

li:hover .subnav {
        opacity: 1;
}

Но Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Если Ρƒ элСмСнта нулСвая ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, это Π΅Ρ‰Ρ‘ Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π½Π΅ сущСствуСт, поэтому всС события для Π½Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ»ΠΈΠΊ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΏΠΎ ссылкам. Π§Ρ‚ΠΎΠ±Ρ‹ этого ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π΅ΡΡ‚ΡŒ свойство pointer-events.

.subnav {
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s;
}

li:hover .subnav {
        opacity: 1;
        pointer-events: all;
}

Π¦Π²Π΅Ρ‚ placeholder

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ placeholder’ΠΎΠ² использовалась Π²ΠΎΡ‚ такая конструкция:

::-webkit-input-placeholder {
    color: white;
}
:-moz-placeholder {
    color: white;
}
::-moz-placeholder {
    color: white;
}
:-ms-input-placeholder {
    color: white;
}

БСйчас, для простоты ΠΎΠ½Π° Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° прямо Π² Π³Π»Π°Π²Π½ΠΎΠΌ css Ρ„Π°ΠΉΠ»Π΅, Π½ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΌΡ‹ вынСсСм это Π² миксины. Mixin — это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² php, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для SASS ΠΈ LESS.

Π”Π΅ΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

See the Pen Drop-down menu with search on CSS3 and HTML5 by nikitakiselev (@nikitakiselev) on CodePen.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ CSS3

Π― ΡƒΠ±Π΅ΠΆΠ΄Π΅Π½, Ρ‡Ρ‚ΠΎ CSS3 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹, анимация ΠΈ трансформация ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠΌ элСмСнтам Π² Π’Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ симпатичноС, Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ CSS3.

Онлайн-дСмо

HTML

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° мСню ΠΎΡ‡Π΅Π½ΡŒ простая — это нСупорядочСнный список с ссылками. Π’ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°:

<ul>
Β <li><a href=»#»>Home</a></li>
Β <li>
Β <a href=»#»>Categories</a>
Β <ul>
Β <li><a href=»#»>CSS</a></li>
Β <li><a href=»#»>Graphic design</a></li>
Β <li><a href=»#»>Development tools</a></li>
Β <li><a href=»#»>Web design</a></li>
Β </ul>
Β </li>
Β <li><a href=»#»>Work</a></li>
Β <li><a href=»#»>About</a></li>
Β <li><a href=»#»>Contact</a></li>
</ul>

CSS

Π‘Π½Π°Ρ‡Π°Π»Π° сбрасываСм стили ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

#menu, #menu ul {
Β margin: 0;
Β padding: 0;
Β list-style: none;
}

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ мСню.

ВозмоТности CSS3 ΠΏΠΎ созданию Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ ΠΊΠ°ΠΊ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚, Ρ‚Π΅Π½ΠΈ ΠΈ Π·Π°ΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½Ρ‹Π΅ ΡƒΠ³Π»Ρ‹ Π»Π΅Π³ΠΊΠΎ позволят Π½Π°ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

#menu {
Β width: 960px;
Β margin: 60px auto;
Β border: 1px solid #222;
Β background-color: #111;
Β background-image: -moz-linear-gradient(#444, #111);
Β background-image: -webkit-gradient(linear, left top, left bottom, from(#444), to(#111));
Β background-image: -webkit-linear-gradient(#444, #111);
Β background-image: -o-linear-gradient(#444, #111);
Β background-image: -ms-linear-gradient(#444, #111);
Β background-image: linear-gradient(#444, #111);
Β -moz-border-radius: 6px;
Β -webkit-border-radius: 6px;
Β border-radius: 6px;
Β -moz-box-shadow: 0 1px 1px #777;
Β -webkit-box-shadow: 0 1px 1px #777;
Β box-shadow: 0 1px 1px #777;
}

Clear floats.

Π­Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Nicolas Gallagher, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ:

#menu:before,
#menu:after {
Β content: «»;
Β display: table;
}
#menu:after {
Β clear: both;
}
#menu {
Β zoom:1;
}

Бписок элСмСнтов.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° сСлСктор #menu li:hover>a. Π­Ρ‚ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΉ CSS Ρ‚Ρ€ΡŽΠΊ для этого Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню.

Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚: Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ элСмСнт «Π°», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ для «li», Π° элСмСнт «li» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ «#menu». ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ сСлСкторах Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ здСсь.

#menu li {
Β float: left;
Β border-right: 1px solid #222;
Β -moz-box-shadow: 1px 0 0 #444;
Β -webkit-box-shadow: 1px 0 0 #444;
Β box-shadow: 1px 0 0 #444;
Β position: relative;
}
#menu a {
Β float: left;
Β padding: 12px 30px;
Β color: #999;
Β text-transform: uppercase;
Β font: bold 12px Arial, Helvetica;
Β text-decoration: none;
Β text-shadow: 0 1px 0 #000;
}
#menu li:hover > a {
Β color: #fafafa;
}
*html #menu li a:hover { /* IE6 only */
Β color: #fafafa;
}

ΠŸΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства CSS3 transitions ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ измСняя Ρ‚Π°ΠΊΠΈΠ΅ CSS-свойства, ΠΊΠ°ΠΊ margin ΠΈΠ»ΠΈ opacity. И я использовал это для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ подмСню. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ:

#menu ul {
Β margin: 20px 0 0 0;
Β _margin: 0; /*IE6 only*/
Β opacity: 0;
Β visibility: hidden;
Β position: absolute;
Β top: 38px;
Β left: 0;
Β z-index: 9999;
Β background: #444;
Β background: -moz-linear-gradient(#444, #111);
Β background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #111),color-stop(1, #444));
Β background: -webkit-linear-gradient(#444, #111);
Β background: -o-linear-gradient(#444, #111);
Β background: -ms-linear-gradient(#444, #111);
Β background: linear-gradient(#444, #111);
Β -moz-box-shadow: 0 -1px rgba(255,255,255,.3);
Β -webkit-box-shadow: 0 -1px 0 rgba(255,255,255,.3);
Β box-shadow: 0 -1px 0 rgba(255,255,255,.3);
Β -moz-border-radius: 3px;
Β -webkit-border-radius: 3px;
Β border-radius: 3px;
Β -webkit-transition: all .2s ease-in-out;
Β -moz-transition: all .2s ease-in-out;
Β -ms-transition: all . 2s ease-in-out;
Β -o-transition: all .2s ease-in-out;
Β transition: all .2s ease-in-out;
}
#menu li:hover > ul {
Β opacity: 1;
Β visibility: visible;
Β margin: 0;
}
#menu ul ul {
Β top: 0;
Β left: 150px;
Β margin: 0 0 0 20px;
Β _margin: 0; /*IE6 only*/
Β -moz-box-shadow: -1px 0 0 rgba(255,255,255,.3);
Β -webkit-box-shadow: -1px 0 0 rgba(255,255,255,.3);
Β box-shadow: -1px 0 0 rgba(255,255,255,.3);
}
#menu ul li {
Β float: none;
Β display: block;
Β border: 0;
Β _line-height: 0; /*IE6 only*/
Β -moz-box-shadow: 0 1px 0 #111, 0 2px 0 #666;
Β -webkit-box-shadow: 0 1px 0 #111, 0 2px 0 #666;
Β box-shadow: 0 1px 0 #111, 0 2px 0 #666;
}
#menu ul li:last-child {
Β -moz-box-shadow: none;
Β -webkit-box-shadow: none;
Β box-shadow: none;
}
#menu ul a {
Β padding: 10px;
Β width: 130px;
Β _height: 10px; /*IE6 only*/
Β display: block;
Β white-space: nowrap;
Β float: none;
Β text-transform: none;
}
#menu ul a:hover {
Β background-color: #0186ba;
Β background-image: -moz-linear-gradient(#04acec,Β  #0186ba);
Β background-image: -webkit-gradient(linear, left top, left bottom, from(#04acec), to(#0186ba));
Β background-image: -webkit-linear-gradient(#04acec, #0186ba);
Β background-image: -o-linear-gradient(#04acec, #0186ba);
Β background-image: -ms-linear-gradient(#04acec, #0186ba);
Β background-image: linear-gradient(#04acec, #0186ba);
}

Π‘Ρ‚ΠΈΠ»ΠΈ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ послСднСго элСмСнта мСню.

#menu ul li:first-child > a {
Β -moz-border-radius: 3px 3px 0 0;
Β -webkit-border-radius: 3px 3px 0 0;
Β border-radius: 3px 3px 0 0;
}
#menu ul li:first-child > a:after {
Β content: »;
Β position: absolute;
Β left: 40px;
Β top: -6px;
Β border-left: 6px solid transparent;
Β border-right: 6px solid transparent;
Β border-bottom: 6px solid #444;
}
#menu ul ul li:first-child a:after {
Β left: -6px;
Β top: 50%;
Β margin-top: -6px;
Β border-left: 0;
Β border-bottom: 6px solid transparent;
Β border-top: 6px solid transparent;
Β border-right: 6px solid #3b3b3b;
}
#menu ul li:first-child a:hover:after {
Β border-bottom-color: #04acec;
}

#menu ul ul li:first-child a:hover:after {
Β border-right-color: #0299d3;
Β border-bottom-color: transparent;
}
#menu ul li:last-child > a {
Β -moz-border-radius: 0 0 3px 3px;
Β -webkit-border-radius: 0 0 3px 3px;
Β border-radius: 0 0 3px 3px;
}

jQuery


Π”Π°Π½Π½ΠΎΠ΅ мСню Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСх популярных соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, Π½ΠΎ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚Π°ΠΊΠΆΠ΅ IE6, Ρ‚ΠΎ Π±Π΅Π· использования JavaScript Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ.

$(function() {
Β if ($.browser.msie &amp;&amp; $.browser.version.substr(0,1)<7)
Β {
Β $(‘li’).has(‘ul’).mouseover(function(){
Β $(this).children(‘ul’).css(‘visibility’,’visible’);
Β }).mouseout(function(){
Β $(this).children(‘ul’).css(‘visibility’,’hidden’);
Β })
Β }
});

Онлайн-дСмо

Π”Π°Π½Π½ΠΎΠ΅ мСню протСстировано Π² Firefox 8, Chrome 15, Opera 11.52, Safari ΠΈ IE7.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходники.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄


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

Плавно ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΠΌ Π½Π°ΡˆΡƒ Π·Π°Π΄ΡƒΠΌΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ самого ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ CSS. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, Ссли Π½Π΅ Π·Π°Π±ΡƒΠ΄Ρƒ, Ρ‚ΠΎ ΠΎΠΏΠΈΡˆΡƒ этот ΠΆΠ΅ эффСкт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ jQuery. Но Π° ΠΏΠΎΠΊΠ°, Π΄Π°Π²Π°ΠΉΡ‚Π΅ приступим ΠΊ Ρ€Π°Π·Π±ΠΎΡ€Ρƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Но, сначала ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΡƒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ получится Π² ΠΈΡ‚ΠΎΠ³Π΅:





ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ напишСм HTML ΠΊΠΎΠ΄ нашСго мСню. МСню Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρƒ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ 2 ΠΏΡƒΠ½ΠΊΡ‚Π° Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список с ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ.


<nav>
	<ul>
		<li>
		<a href="#">ΠΏΡƒΠ½ΠΊΡ‚ 1</a>
			<ul>
				<li><a href="#">Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ 1</a></li>
				<li><a href="#">Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ 2</a></li>
				<li><a href="#">Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ 3</a></li>
			</ul>
		</li>
		<li>
		<a href="#">ΠΏΡƒΠ½ΠΊΡ‚ 2</a>
			<ul>
				<li><a href="#">Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ 1</a></li>
				<li><a href="#">Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ 2</a></li>
				<li><a href="#">Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ 3</a></li>
			</ul>
		</li>

	</ul>
</nav>

Π”ΡƒΠΌΠ°ΡŽ Ρ‚ΡƒΡ‚ всС понятно, самоС простоС 2-Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅ мСню. Как ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», мСню ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Ссли Π½ΡƒΠΆΠ½ΠΎ. Π”Π°Π»ΡŒΡˆΠ΅ Π½ΡƒΠΆΠ½ΠΎ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ стили, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ всю магию πŸ™‚


#slow_nav > ul{
	width: 500px;
	margin:25px auto 0;
}

#slow_nav > ul > li{
	list-style: none;
	display: inline-block;
	position:relative;
	padding:0;
}

#slow_nav a{text-decoration:none;}

#slow_nav > ul > li > a{
	font-size:18px;
	padding:5px;
	background-color:#333;
	color:#fff;
}

#slow_nav li ul{
	position:absolute;
	list-style:none;
	text-align:center;
	top:15px;
	font-size:15px;
	left:0;
	margin:0;
	padding:0;

/* Π”Π°Π½Π½Ρ‹Π΅ строки Π½ΡƒΠΆΠ½Ρ‹ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ */
	max-height:0px;
	overflow:hidden;
	-webkit-transition:max-height 0.4s linear;
	-moz-transition:max-height 0.4s linear;
	transition:max-height 0.4s linear;
/* ΠΊΠΎΠ½Π΅Ρ† */
}

#slow_nav li:hover ul{
	max-height:300px;
}

#slow_nav li ul li{
	background-color:#333;
	border-bottom:1px solid #888;
}

#slow_nav li ul li:last-child{
	border-bottom:none;
}

#slow_nav li ul li a{
	padding:5px 12px;
	color:#fff;
	display:block;
}

#slow_nav li ul li:hover{
	background-color:#444;
}

#slow_nav li ul li:first-child{
	margin-top:25px;
	position:relative;
}

#slow_nav li ul li:first-child:before{
	content:'';
	position:absolute;
	width:1px;
	height:1px;
	border:5px solid transparent;
	border-bottom-color:#333;
	left:10px;
	top:-10px;
}

Код CSS Π½Π΅ малСнький. , Π½ΠΎ ΠΏΠΎ своСй сути Π½Π΅ слоТный. Если Π’Ρ‹ Π²Π»Π°Π΄Π΅Π΅Ρ‚Π΅ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ вСрстки, Ρ‚ΠΎ запросто Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ. Π― лишь ΠΎΡΡ‚Π°Π½ΠΎΠ²Π»ΡŽΡΡŒ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ это сама анимация. НуТный ΠΊΠΎΠ΄ Π²Ρ‹Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² ΠΊΠΎΠ΄Π΅ — /* Π”Π°Π½Π½Ρ‹Π΅ строки Π½ΡƒΠΆΠ½Ρ‹ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ */. Π£Π΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ· нСльзя, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаи анимация пСрСстанСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΌΡ‹ Π·Π°Π΄Π°Π΅ΠΌ высоту Π² ноль пиксСлСй —

max-height:0px; ΠΈ прописываСм свойство overflow:hidden;, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ нашС Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π΅ мСню, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅. Π”Π°Π»ΡŒΡˆΠ΅ ΡƒΠΆΠ΅ прописываСм кроссбраузСрноС свойство transition, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ.


-webkit-transition:max-height 0.4s linear;
-moz-transition:max-height 0.4s linear;
transition:max-height 0.4s linear;

Π’ΡƒΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ врСмя Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ врСмя Π·Π°Π΄Π°Π½ΠΎ 0.4 сСкунды. Π‘Ρ€Π°Π·Ρƒ послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π·Π°Π΄Π°Π»ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ свойство , для задания Π½ΠΎΠ²ΠΎΠΉ высоты ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° Π³Π»Π°Π²Π½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню:


#slow_nav li:hover ul{
	max-height:300px;
}

Π’ΡƒΡ‚ такая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°. Высота задаСтся максимальная фиксированная, Ссли Ρƒ Вас высота Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Π±ΡƒΠ΄Π΅Ρ‚ побольшС, Ρ‚ΠΎ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мСняйтС Π½Π° большС. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаи Π’Π°ΡˆΠ΅ мСню ΠΎΠ±Ρ€Π΅ΠΆΠ΅Ρ‚ ΠΏΠΎ высотС 300 пиксСлСй.

Π”Π°Π»Π΅Π΅ ΡƒΠΆΠ΅ Π·Π°Π΄Π°Π΅ΠΌ стили для Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π° Π½ΠΈΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Ρƒ. Π’Ρƒ ΠΊΠ°ΠΊ Π±Ρ‹ ΠΈ всС. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ вСсь способ. Он простой ΠΈ дСйствСнный ΠΈ справляСтся со своСй Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π½Π° всС 100%.

Π”Π°Π½Π½Ρ‹ΠΉ способ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ самописным мСню Π½ΠΎ ΠΈ ΠΊ Ρ‚Π΅ΠΌ ΠΆΠ΅ динамичСским мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ систСмами управлСния сайтом, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ WordPress. Для этого Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ стили ΠΈ всС. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ HTML ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стили. Π’ стилях Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя Π°ΠΉΠ΄ΠΈ #slow_nav Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρƒ Вас, Π½Ρƒ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎ ΠΌΠ΅Π»ΠΎΡ‡Π°ΠΌ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Ρƒ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ случая Π½ΡƒΠΆΠ΅Π½ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΡƒΠΆ ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅ πŸ™‚ Π― Π΄Π°Π» идСю ΠΈ способ, Π° Π’Π°ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

На этом всС, спасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. πŸ™‚

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список Π² HTML (ВОП 16)

Π—Π° послСдниС Π΄Π²Π° Π³ΠΎΠ΄Π°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (сайтов) ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΠ»Π°ΡΡŒ Π΄Π°Π»Π΅ΠΊΠΎ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ использовали для создания сайта Ρ€Π°Π½Π΅Π΅Β β€” ΡƒΠΆΠ΅ устарСло или появились Π±ΠΎΠ»Π΅Π΅ свСТиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π Π°Π½Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список Π² html (Π½Π° Π°Π½Π³Π». β€”Β dropdown), ΠΌΡ‹ просто использовали <select> ΠΈ <option>. Π€Π°ΠΊΡ‚ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈ сСйчас ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ стили ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΡƒΡŽ Π³Π°ΠΌΠΌΡƒΒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка под ΡΡ‚ΠΈΠ»ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½Π°. К соТалСнию, Π½Π΅ всСгда получаСтся ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ хочСтся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ select ΠΈ optionΒ ΠΈΠΌΠ΅ΡŽΡ‚ свои ограничСния ΠΈ ΠΏΠ»ΠΎΡ…ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ кроссбраузСрности.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, я нашСл 16 Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сайта. И Ρ‚Π°ΠΊ приступим.

Html шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ собствСнныС Ρ†Π²Π΅Ρ‚Π° Π½Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка.

Β 

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€” http://codepen.io/silverdrop/pen/msrcE

Написан Π½Π° CSS3 ΠΈ JavaScript. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/pedronauck/pen/fcaDw

ΠŸΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉΒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список со стилистикой станций ΠΌΠ΅Ρ‚Ρ€ΠΎ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/carlcalderon/pen/KhwDH

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/Tombek/pen/JAvHC

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для длинных Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… мСню.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/larrygeams/pen/feoDc

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ написано Π½Π° чисто CSS Π±Π΅Π· использования ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ скриптов.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/Thibaut/pen/Jasci

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для Π±ΠΎΠΊΠΎΠ²Ρ‹Ρ… мСню Π½Π° сайтС,Β Ρ‡Ρ‚ΠΎΠ±Ρ‹Β Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π½Π° сайтС.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://cssdeck.com/labs/navigation-dropdown-with-flip-effect

Β 

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/jakestuts/pen/nEFyw

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/daniesy/pen/pfxFi

Π‘Π΄Π΅Π»Π°Π½ΠΎ Π² стилС UI, ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ UI стилистику сайта.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/Jeplaa/pen/IzAvx

Β 

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/Dianatomic/pen/HqICG

Dropdown Π² стилС Π²Ρ‹Π±ΠΎΡ€Π° страны.Β 

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/abhishek/pen/bkfLi

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/Metty/pen/dglwH

Β 

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/DKunin/pen/EIobp

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/MrBambule/pen/jIseg

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ интСрСсный ΠΈ простой Π΄ΠΈΠ·Π°ΠΉΠ½.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² пСсочницС β€”Β http://codepen.io/mingger/pen/hdtiD

Β 

НадСюсь Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ моя ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ°. ΠžΡΡ‚Π°Π²Π»ΡΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ присылайтС собствСнныС Ρ€Π°Π±ΠΎΡ‚Ρ‹!

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список Π² html (ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ВОП 16) ΠΎΡ‚ bologer

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ DHTML динамичСского ΠΏΡ€ΠΈΠ²ΠΎΠ΄Π° — Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ уровня

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ОбновлСно 1 июля 11 Π΄ΠΎ вСрсии 1. 2: МСню ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π΄ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° популярных ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ iPad / iPhone ΠΈ Android Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈ.

ОписаниС: Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ссылок Π½Π° ваша страница с нСсколькими ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ возмоТностями с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Flex Level! Π­Ρ‚ΠΎ позволяСт Π²Π°ΠΌ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню с любой ссылкой Π½Π° страницС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора ΠΌΡ‹ΡˆΠΈ Π½Π° ссылку активируСтся мСню, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ рядом с Π½Π΅ΠΉ.ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠΏ мСню Π²Π²Π΅Ρ€Ρ… просто опрСдСляСтся ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ UL Π½Π° страницС, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятСн Π² настройкС, Π½Π΅ говоря ΡƒΠΆΠ΅ ΠΎ мСню, ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для поисковых систСм! Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ скрипта:

  • ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ссылку Π½Π° страницС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° мСню Π²Π²Π΅Ρ€Ρ…, вставив настраиваСмый Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-popupmenu Π²Π½ΡƒΡ‚Ρ€ΠΈ ссылки.
  • КаТдоС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню просто опрСдСляСтся ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅, скрытоС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ UL Π½Π° страницС. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ динамичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с использованиСм JavaScript.v1.1 функция
  • Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (каТдая ΠžΠ‘Π›ΠΠ‘Π’Π¬ element) ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ссылок.
  • ПодмСню ΠΌΠ΅Π½ΡΡŽΡ‚ своС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ находится слишком Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ ΠΊΡ€Π°ΡŽ экрана. ΠΎΠΊΠ½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Π½Π° Π²ΠΈΠ΄Ρƒ.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки скорости Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ мСню ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ. мСню ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ / ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора ΠΌΡ‹ΡˆΠΈ Π½Π° Π½ΠΈΡ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· Π½ΠΈΡ….

Когда Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ мСню, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π° — это Ρ…ΠΎΡ€ΠΎΡˆΠΎ!

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅: Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню уровня гибкости.


ΠŸΡ€ΠΎΠ΅Π·Π΄

Π¨Π°Π³ 1: Π­Ρ‚ΠΎΡ‚ сцСнарий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρ€ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈΡ… Π½ΠΈΠΆΠ΅ (Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΒ»):

Π¨Π°Π³ 2: Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΊΠΎΠ΄ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ вашСй страницы:

Π¨Π°Π³ 3: Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ мСню Π² Π Π°Π·Π΄Π΅Π» BODY вашСй страницы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π΄Π²Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ якорныС ссылки ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню:

Ну Π²ΠΎΡ‚ ΠΈ всС ΠΏΠΎ установкС. Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ настройкС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π°. мСню

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ настройкС

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню ΠΊ ссылкС достаточно просто. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ списком UL , Π²Π»ΠΎΠΆΠ΅Π½Ρ‹, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ. НапримСр:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1a

  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 2a
  • Папка с элСмСнтами 3a


  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 4a

  • Папка с элСмСнтами 5a


  • ΠŸΡƒΠ½ΠΊΡ‚ 6a

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ мСню UL содСрТит ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ класс CSS Β« jqpopupmenu Β».Π­Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Атрибут ID ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

    ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Π΅Π³ΠΎ со ссылкой Π½Π° страницС, просто Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Β« data-popupmenu Β», ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ID ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню:

    data-popupmenu = «popmenu1″> Dynamic Drive

    И это всС. НавСдитС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π° ссылку «Dynamic Drive» Π²Ρ‹ΡˆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Β« popmenu1 Β».

    ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ мСню ΠΊΠ°ΠΊ UL Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½Π° страницС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это динамичСски, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ JavaScript, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π½ΡƒΡ‚Ρ€ΠΈ внСшнСго . js Ρ„Π°ΠΉΠ». Π‘ΠΌ. «ДинамичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ содСрТимого Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ мСню» для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

    Π’Π½ΡƒΡ‚Ρ€ΠΈ popupmenu.js Π΅ΡΡ‚ΡŒ нСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ edit, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ изобраТСния стрСлки, анимация ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, плюс Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ появлСниСм / исчСзновСниСм мСню Π½Π° Mouseover:

    arrowpath: ‘стрСлка.gif ‘, // ΠΏΠΎΠ»Π½Ρ‹ΠΉ URL ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ стрСлки
    popupmenuoffsets: [0, 0], // Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ смСщСниС ΠΏΠΎ x ΠΈ y ΠΎΡ‚ курсора ΠΌΡ‹ΡˆΠΈ для Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню
    animspeed: 200, // ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ (Π² миллисСкундах)
    showhidedelay: [150, 150], // Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄ΠΎ появлСния мСню ΠΈ исчСзновСниС ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ пСрСкатываСтся ΠΏΠΎ Π½Π΅ΠΌΡƒ, Π² миллисСкундах

    Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню уровня Flex Π² ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

    Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню с горячими Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ этим горячим Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ отобраТаСтся Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню.ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ свой Image Map ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, Π·Π°Ρ‚Π΅ΠΌ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-popupmenu Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ AREA Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ссылки. НапримСр:






    Π­Ρ‚ΠΎΡ‚ сцСнарий состоит ΠΈΠ· индСксной страницы ΠΈ Π΄Π²ΡƒΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… страниц:

  • Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню

    Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню

    Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ панСль повСдСния Dreamweaver для создания Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… мСню

    Π’ этом руководствС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ панСль повСдСния Dreamweaver для создания Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… мСню. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ мСню, Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ мСню. ΠΏΡ€.

    НСобходимыС знания

    Из этого руководства Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ повСдСния Dreamweaver, ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, прСдполагаСтся, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Adobe Dreamweaver. Однако Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ нашим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ инструкциям ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ.

    You Are Here ::: Главная >> БСсплатныС ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ пособия >> Π£Ρ‡Π΅Π±Π½Ρ‹Π΅ пособия ΠΏΠΎ Dreamweaver >> Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню

    Adobe Dreamweaver ΠΈΠΌΠ΅Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ CSS ΠΈ ΠΊΠΎΠ΄ JavaScript.НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, связанных с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ подмСню Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ мСню. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню отобраТаСтся Π² Π²ΠΈΠ΄Π΅ ячСйки HTML ΠΈΠ»ΠΈ изобраТСния, которая ΠΈΠΌΠ΅Π΅Ρ‚ состояниС Β«Π’Π²Π΅Ρ€Ρ…ΡƒΒ», состояниС «НавСдСниС» ΠΈ тСкст Π² ΠΎΠ±ΠΎΠΈΡ… состояниях.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню — это Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ графичСскоС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню.

    Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню

    Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню

    ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ повСдСния Dreamweaver (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ мСню Fireworks).ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° для создания Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ для установки ΠΈΠ»ΠΈ измСнСния Ρ†Π²Π΅Ρ‚Π°, тСкста ΠΈ полоТСния Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню.

    НапримСр : Π‘ΠΌ. Наши популярныС ссылки — услуги, ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ, Ρ†Π΅Π½Ρ‹ ΠΈ прСдлоТСния, Π²Π΅Π±-ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, бСсплатныС рСсурсы ΠΈ ΠΎ нас

    1. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню для ссылки (тСкст ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅), создайтС ссылку, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Π΅ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ панСль «ПовСдСниС» (Shift + F3).
    2. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ» (+) ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню» Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ мСню «ДСйствия».
    3. Π—Π°Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ появляСтся с использованиСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π²ΠΊΠ»Π°Π΄ΠΎΠΊ:
      • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ — для установки ΠΈΠΌΠ΅Π½ΠΈ, структуры, URL-адрСса ΠΈ Ρ†Π΅Π»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню.
      • Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ — для настройки внСшнСго Π²ΠΈΠ΄Π° состояния мСню (Π²Π²Π΅Ρ€Ρ… / Π²Π½ΠΈΠ·) ΠΈ для Π²Ρ‹Π±ΠΎΡ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π° для тСкста ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.
      • Advanced — для установки свойств ячССк мСню, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡˆΠΈΡ€ΠΈΠ½Ρ‹, высоты, Ρ†Π²Π΅Ρ‚Π°, ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, отступа тСкста ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄ΠΎ появлСния мСню послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€.
      • ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ — для установки ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ мСню ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ изобраТСния ΠΈΠ»ΠΈ ссылки.
    4. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню, сначала Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ссылку, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню Π² столбцС «ДСйствия» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ «ПовСдСниС».
    5. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ΠΎΡ‚ ΠΈ всС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Dreamweaver Behaviors.

    ВрСбуСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС

    Adobe Dreamwever (Macromedia Dreamweaver Π΄ΠΎ вСрсии 8). ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ совмСстимыС вСрсии, пСрСчислСнныС Π² ΠΏΠΎΠ»Π΅ Π½ΠΈΠΆΠ΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² этой сСрии руководств Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Dreamweaver для создания Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… мСню с использованиСм повСдСния Dreamweaver, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ любая вСрсия этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

    ВСрсии Dreamweaver, совмСстимыС с этим ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΌ курсом
    Dreamweaver 4-8 | Dreamweaver CS3 | Dreamweaver CS4 / CS5 / CS6
    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ Π² этом руководствС ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ для всСх вСрсий Dreamweaver, пСрСчислСнных Π²Ρ‹ΡˆΠ΅; Π‘Π½ΠΈΠΌΠΊΠΈ экрана (Ссли Π΅ΡΡ‚ΡŒ) ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. РСкомСндуСмая вСрсия: Dreamweaver CS6
    ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ «Нравится», +1, Π΄Π°ΠΉΡ‚Π΅ ссылку Π½Π° этот рСсурс SmartWebby ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΈΠΌ, Ссли Π²Ρ‹ нашли Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.
    Бпасибо!

    Primeng Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню — CSS

    Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΎΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½ΠΎ располоТСниС мСню Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅.Π― посмотрСл, Ρ‡Ρ‚ΠΎ происходит Π² ΠΊΠΎΠ΄Π΅, ΠΈ ΠΌΠ½Π΅ показалось, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ domHandler.absolutePosition () ΠΈΠ· menu.show () происходит Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ странноС. Он вычислял ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ смСщСния ΠΎΡ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта, Π½ΠΎ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ свойства ‘top’ ΠΈ ‘left’ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΊΠ½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΎΠ½ примСнял ΠΈΡ… ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта, поэтому ΠΌΠΎΠ΅ мСню Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π²Π½Π΅ экрана справа ΠΎΡ‚ моя ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π° Π½Π΅ прямо ΠΏΠΎΠ΄ Π½Π΅ΠΉ, ΠΊΠ°ΠΊ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹.

    Когда я ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ с Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ Π½Π° фиксированный для.ui-menu-dynamic, ΠΎΠ½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ мСню, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ устанавливаСт для Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° display Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«blockΒ» послС скрытия мСню Π² domHandler.getHiddenElementDimensions (). Π’ настоящСС врСмя Π² качСствС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ я ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ видимости Π² ΠΌΠΎΠ΅ΠΌ собствСнном ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ этому.

    НичСго особСнного Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΎΡΡŒ ΠΎΡ‚ дСмонстрационной страницы с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΌΠΎΠ΅Π³ΠΎ шаблона (см. НиТС), поэтому Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ вСсти сСбя ΠΈΠ½Π°Ρ‡Π΅, Π½ΠΎ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Ρ‚Π°ΠΊ.

      
         
         
    
      
    Π‘ΠΎΠ·Π΄Π°Π½ 11 ΠΎΠΊΡ‚. ryanwawr

    9 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²:

    Π”ΡƒΠΌΠ°ΡŽ, это Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π― попытался ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ div Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ : ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ, Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»

    Π‘ΠΎΠ·Π΄Π°Π½ 26 ΠΎΠΊΡ‚. Twmobius

    МнС ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ TieredMenu ΠΈ TieredMenuSub ΠΌΠΎΠΈΠΌΠΈ собствСнными классами ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° использованиС domHandler.relativePosition () вмСсто domHandler.absolutePosition () вмСстС с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ настраиваСмыми полями CSS для .ui-levelredmenu , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ это Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠŸΡ€ΡΠΌΠΎ сСйчас ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ мСню ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½ Π² Π½Π΅Ρ‡Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. Как ΡƒΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ, это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ выполняСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, Π° Π½Π΅ Ρ‚Π΅Π»Π°.

    Π‘ΠΎΠ·Π΄Π°Π½ 05 Π΄Π΅ΠΊ. brian428

    Π£ мСня Ρ‚ΠΎΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π’ ΠΌΠΎΠ΅ΠΌ случаС, ΠΊΠΎΠ³Π΄Π° я ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡŽ мСню Ρ‡Π΅Ρ€Π΅Π· шаблон ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½ΠΎ отобраТаСтся Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

    Π‘ΠΎΠ·Π΄Π°Π½ 13 Π΄Π΅ΠΊ. Π°Π»ΡƒΠ½Π°ΠΊΠΎΠ±

    Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΌΠΎΠ΅ мСню Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ экрана справа ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

    Π‘ΠΎΠ·Π΄Π°Π½ 29 Π΄Π΅ΠΊ. ΠŸΡ€ΠΎΠ½Ρ†Π΅Π²ΠΈΡ‡

    НайдитС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ здСсь. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ appendTo = «body» Π² p-menu, ΠΈ всС Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

    Π‘ΠΎΠ·Π΄Π°Π½ 29 Π΄Π΅ΠΊ. ΠŸΡ€ΠΎΠ½Ρ†Π΅Π²ΠΈΡ‡

    Если appendTo = "body" Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ TSD.

    Π‘ΠΎΠ·Π΄Π°Π½ 09 Ρ„Π΅Π². brian428

    Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ воспроизвСсти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 2.0.5, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ заявку Π½Π° выпуск с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ plunkr.

    Π‘ΠΎΠ·Π΄Π°Π½ 23 ΠΌΠ°Ρ€. Cagataycivici

    Π£ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΠ³Π΄Π° мСню Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта. МСню позиционируСтся с position: absolute , поэтому, Ссли ΠΎΠ½ΠΎ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта (Π½Π΅ статичСского), Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ элСмСнт position: relative , ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ располоТСно ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ этого элСмСнта, Π° Π½Π΅ Ρ‚Π΅Π»Π°. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ appendTo = "body" Π² элСмСнт p-menu Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΠΌΠ½Π΅.

    Π‘ΠΎΠ·Π΄Π°Π½ 21 Π°ΠΏΡ€. Π°Π΄ΠΆΡˆΠ°ΠΏΠΈΡ€ΠΎ

    Π£ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ мСню отобраТаСтся Π²ΠΏΡ€Π°Π²ΠΎ ΠΈ слишком Π½ΠΈΠ·ΠΊΠΎ. Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ appendTo = «body» с Ρ€Π΅Π°ΠΊΡ†ΠΈΠ΅ΠΉ … Π»ΡŽΠ±Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ.

    Π‘ΠΎΠ·Π΄Π°Π½ 20 Π΄Π΅ΠΊ. Лукас-Уэйд

    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки Β· Bootstrap

    ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ контСкстныС налоТСния для отобраТСния списков ссылок ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π° Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка Bootstrap.

    ΠžΠ±Π·ΠΎΡ€

    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки — это ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ контСкстныС налоТСния для отобраТСния списков ссылок ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.Они сдСланы ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° JavaScript для Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Bootstrap. Они ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ, Π° Π½Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ курсора; это Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ дизайнСрскоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки

    построСны Π½Π° основС стороннСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Popper.js, которая обСспСчиваСт динамичСскоС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ области просмотра. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ popper.min.js ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΌ JavaScript ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ bootstrap.bundle.min.js / bootstrap.bundle.js , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Popper.js. Popper.js Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для размСщСния Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ списков Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ динамичСскоС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ трСбуСтся.

    Если Π²Ρ‹ создаСтС наш JavaScript ΠΈΠ· исходного ΠΊΠΎΠ΄Π°, Π΅ΠΌΡƒ трСбуСтся util.js .

    Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ

    Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ WAI ARIA опрСдСляСт фактичСский Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ role = "menu" , Π½ΠΎ это спСцифично для мСню, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ прилоТСниям, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ запускаСт дСйствия ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ARIA МСню ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню, ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Ρ„Π»Π°ΠΆΠΊΠΎΠ², ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ, Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ подмСню.

    Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки

    Bootstrap Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ситуациям ΠΈ структурам Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ.НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки, содСрТащиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ элСмСнты управлСния Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ поля поиска ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ…ΠΎΠ΄Π° Π² систСму. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Bootstrap Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ (ΠΈ Π½Π΅ добавляСт автоматичСски) ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ role ΠΈ aria- , Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для истинных мСню ARIA . Авторы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сами Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эти Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.

    Однако Bootstrap добавляСт Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° стандартных взаимодСйствий с мСню ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ .dropdown-item с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиш курсора ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиши ESC .

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

    ΠžΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка (ваша ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ ссылка) ΠΈ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню Π² . dropdown ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ position: relative; . Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ· элСмСнтов ΠΈΠ»ΠΈ

    А с элСмСнтами :

        

    Π‘Π°ΠΌΠΎΠ΅ приятноС Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΈ с Π»ΡŽΠ±Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ:

      
      

    Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки ΠΊΠ½ΠΎΠΏΠΎΠΊ

    Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ создайтС Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ с практичСски Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки с ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, Π½ΠΎ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ . dropdown-toggle-split для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²ΠΎΠΊΡ€ΡƒΠ³ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ курсора.

    ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ этот Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠ±Π΅ стороны ΠΎΡ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ Π½Π° 25% ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ margin-left , добавляСмоС для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ списков ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π­Ρ‚ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ курсор Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ наТатия Π±ΠΎΠ»Π΅Π΅ подходящСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° рядом с основной ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ.

    Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список
      
    

    ΠšΠ°Π»ΠΈΠ±Ρ€

    Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки ΠΊΠ½ΠΎΠΏΠΎΠΊ

    Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ любого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΡΡ списком.

      
    
    ...
    ...
    ...
    . ..

    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

    Запуск Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ мСню Π½Π°Π΄ элСмСнтами ΠΏΡƒΡ‚Π΅ΠΌ добавлСния .dropup ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ элСмСнту.

    Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список
      
    

    Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Dropright

    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° справа ΠΎΡ‚ элСмСнтов ΠΏΡƒΡ‚Π΅ΠΌ добавлСния . dropright Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ элСмСнту.

    Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Dropdright
      
    

    Вариация ΠΊΠ°ΠΏΠ»ΠΈ

    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° слСва ΠΎΡ‚ элСмСнтов ΠΏΡƒΡ‚Π΅ΠΌ добавлСния .dropleft Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ элСмСнту.

      
    

    РаньшС содСрТимоС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню содСрТало Π² качСствС ссылок, Π½ΠΎ Π² вСрсии 4 это ΡƒΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты

    По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню автоматичСски располагаСтся Π½Π° 100% свСрху ΠΈ слСва ΠΎΡ‚ своСго родитСля.Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ .dropdown-menu-right ΠΊ .dropdown-menu , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ.

    Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ благодаря Popper.js (ΠΊΡ€ΠΎΠΌΠ΅ случаСв, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ содСрТатся Π² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ).

      

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ для обозначСния Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² дСйствий Π² любом Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡΡ мСню.

        

    Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ связанных ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ.

        

    ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡƒ Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π΅Π΅ Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ заполнСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ пространство.

      
    <Ρ„ΠΎΡ€ΠΌΠ°>
    Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ здСсь? Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π—Π°Π±Ρ‹Π»ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ?
      <Ρ„ΠΎΡ€ΠΌΠ°>
      
    com ">

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ .active ΠΊ элСмСнтам Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡΡ спискС Π΄ΠΎ , сдСлав ΠΈΡ… Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ .

        

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ .disabled ΠΊ элСмСнтам Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡΡ спискС Π΄ΠΎ , сдСлав ΠΈΡ… ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ .

        

    ИспользованиС

    Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ JavaScript ΠΏΠ»Π°Π³ΠΈΠ½ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ скрытый ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ (Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ мСню) ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ . ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ класс Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ элСмСнтС списка. Атрибут data-toggle = "dropdown" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для закрытия Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ мСню Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния, поэтому рСкомСндуСтся всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

    На устройствах с сСнсорным экраном ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка добавляСт пустыС ( $ .noop ) ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ mouseover ΠΊ нСпосрСдствСнным ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°ΠΌ элСмСнта . Π­Ρ‚ΠΎΡ‚, ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΡŽ, ΡƒΡ€ΠΎΠ΄Π»ΠΈΠ²Ρ‹ΠΉ Ρ…Π°ΠΊΠ΅Ρ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Ρ‹ Π² Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ событий iOS, которая Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС помСшала Π±Ρ‹ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π² любом мСстС Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список.ПослС закрытия Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ пустыС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ mouseover ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ.

    Π§Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ data-toggle = "dropdown" ΠΊ ссылкС ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список.

      
    . ..

    Π§Π΅Ρ€Π΅Π· JavaScript

    Π’Ρ‹Π·ΠΎΠ² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ списков с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript:

      $ ('.dropdown-toggle '). dropdown ()  
    data-toggle = "dropdown" всС Π΅Ρ‰Π΅ трСбуСтся

    НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список Ρ‡Π΅Ρ€Π΅Π· JavaScript ΠΈΠ»ΠΈ вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ data-api, data-toggle = "dropdown" всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² элСмСнтС Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка.

    ΠžΠΏΡ†ΠΈΠΈ

    ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ JavaScript. Для Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ имя ΠΎΠΏΡ†ΠΈΠΈ ΠΊ data- , ΠΊΠ°ΠΊ Π² data-offset = "" .

    НомСр
    Имя Π’ΠΈΠΏ По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ОписаниС
    смСщСниС | строка | функция 0 Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ†Π΅Π»ΠΈ. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Popper.js.
    Ρ„Π»ΠΈΠΏ логичСский ΠΏΡ€Π°Π²Π΄Π° Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка Π² случаС пСрСкрытия ссылочного элСмСнта.Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Popper.js.
    Π³Ρ€Π°Π½ΠΈΡ†Π° строка | элСмСнт ‘scrollParent’ Π“Ρ€Π°Π½ΠΈΡ†Π° ограничСния пСрСполнСния Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ мСню. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния 'viewport' , 'window' , 'scrollParent' ΠΈΠ»ΠΈ ссылку HTMLElement (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ JavaScript). Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ PreventOverflow Popper.js.

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° для Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π·Π°Π΄Π°Π½ΠΎ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ 'scrollParent' , ΡΡ‚ΠΈΠ»ΡŒ position: static примСняСтся ΠΊ .Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ .

    ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

    ΠœΠ΅Ρ‚ΠΎΠ΄ ОписаниС
    $ (). Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список ('ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅') ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ с Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ.
    $ (). Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список (Β«ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅Β») ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка элСмСнта.
    $ (). Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список ('ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ') Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список элСмСнта.

    Бобытия

    ВсС события Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ элСмСнтС .dropdown-menu ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ свойство relatedTarget , Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΌ элСмСнтом привязки.

    Показан
    Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ОписаниС
    ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ.bs. Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π­Ρ‚ΠΎ событиС запускаСтся Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° экзСмпляра ΡˆΠΎΡƒ.
    .бс. Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π­Ρ‚ΠΎ событиС вызываСтся, ΠΊΠΎΠ³Π΄Π° Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список становится Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² CSS).
    hide.bs. Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π­Ρ‚ΠΎ событиС запускаСтся сразу послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° экзСмпляра hide.
    hidden.bs. Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список Π­Ρ‚ΠΎ событиС запускаСтся, ΠΊΠΎΠ³Π΄Π° Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список пСрСстаСт Π±Ρ‹Ρ‚ΡŒ скрытым ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² CSS).
      $ ('# myDropdown'). On ('show.bs.dropdown', function () {
      // сдСлай Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒβ€¦
    })  

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ мСню Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ | WAI-ARIA Authoring Practices 1.1

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ мСню Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ | ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° создания WAI-ARIA 1.1

    Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт шаблон Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ мСню для ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅ΠΉ мСню Ρ†Π΅Π»Π΅ΠΉ ссылок. ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ мСню состоят ΠΈΠ· HTML-ссылок ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ своС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² HTML-ссылках.Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ элСмСнта мСню загруТаСтся Ρ†Π΅Π»ΡŒ ссылки, ΠΈ становятся доступными контСкстноС мСню ссылки Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ связанныС с Π½ΠΈΠΌ дСйствия.

    Π’ этой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ элСмСнт HTML button ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ структуру мСню, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ элСмСнта HTML ul . Роль menuitem находится Π² элСмСнтС HTML a , содСрТащСмся Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ элСмСнтС li , поэтому ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ссылок доступно, ΠΊΠΎΠ³Π΄Π° фокус установлСн Π½Π° элСмСнтС мСню.Другая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€ΠΎΠ»ΡŒ menuitem отсутствуСт Π² элСмСнтС li , Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сСмантика ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ARIA menuitem элСмСнтов Π½Π΅ отобраТаСтся Π² Π΄Π΅Ρ€Π΅Π²Π΅ доступности. Π’ΠΎ Π΅ΡΡ‚ΡŒ, элСмСнт Π² мСню ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнтом мСню , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ API ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ тСхнологиям ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ элСмСнты, содСрТащиСся Π²Π½ΡƒΡ‚Ρ€ΠΈ элСмСнта Π² мСню. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС этого ограничСния см. Π ΠΎΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ автоматичСски ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ сСмантику, дСлая ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

    ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

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

    ΠŸΠΎΠ΄ΡΡ‚Π°Π²ΠΊΠ° для ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

    Кнопка мСню

    ΠšΠ»ΡŽΡ‡ Ѐункция
    Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° Π²Π½ΠΈΠ·
    ΠŸΡ€ΠΎΠ±Π΅Π»
    Π’Π²Π΅Π΄ΠΈΡ‚Π΅
    ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мСню ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ фокус Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт мСню
    Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° Π²Π²Π΅Ρ€Ρ… ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мСню ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ фокус Π½Π° послСдний элСмСнт мСню

    МСню

    ΠšΠ»ΡŽΡ‡ Ѐункция
    Π’Π²Π΅Π΄ΠΈΡ‚Π΅
    • Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мСню.
    • УстанавливаСт фокус Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ мСню
    • АктивируСт ΠΏΡƒΠ½ΠΊΡ‚ мСню, Ρ‡Ρ‚ΠΎ эквивалСнтно Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ элСмСнта ссылки, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сдСлан ΠΏΡƒΠ½ΠΊΡ‚ мСню.
    ПобСг
    • Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мСню.
    • УстанавливаСт фокус Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ мСню.
    Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° Π²Π²Π΅Ρ€Ρ…
    • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ фокус Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню.
    • Если фокус находится Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ элСмСнтС мСню, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ фокус Π½Π° послСдний элСмСнт мСню.
    Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° Π²Π½ΠΈΠ·
    • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ фокус Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню.
    • Если фокус находится Π½Π° послСднСм элСмСнтС мСню, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ фокус Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт мСню.
    Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ фокус Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню.
    ΠΊΠΎΠ½Π΅Ρ† ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ фокус Π½Π° послСдний ΠΏΡƒΠ½ΠΊΡ‚ мСню.
    А – Π―
    А – Π―
    • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ фокус Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, которая начинаСтся с Π½Π°Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ символа, Ссли Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню сущСствуСт.
    • Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС фокус Π½Π΅ пСрСмСщаСтся.

    Роль, свойство, состояниС ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Tabindex

    Кнопка мСню

    Роль Атрибут Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ИспользованиС
    aria-haspopup = "true" ΠΊΠ½ΠΎΠΏΠΊΠ°
    • ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мСню.
    • ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•. . Π₯отя ARIA Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для ΠΊΠ½ΠΎΠΏΠΎΠΊ мСню, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ API ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ€ΠΎΠ»ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ мСню. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π° Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ чтСния с экрана, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… aria-haspopup установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ menu Π² качСствС ΠΊΠ½ΠΎΠΏΠΎΠΊ мСню.
    aria-controls = "IDREF" ΠΊΠ½ΠΎΠΏΠΊΠ°
    • ΠžΡ‚Π½ΠΎΡΠΈΡ‚ΡΡ ΠΊ элСмСнту мСню, управляСмому ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ мСню.
    • ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с мСню, Ссли ΠΎΠ½ΠΎ отсутствуСт.
    aria-extended = "true" ΠΊΠ½ΠΎΠΏΠΊΠ°
    • Π”ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ мСню.
    • Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ мСню отобраТаСтся ΠΈ Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ мСню Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мСню.
    • Атрибут aria-extended удаляСтся ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ мСню.
    • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСнсорных устройств, Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ чтСния с экрана ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ мСню Π²ΠΎ врСмя Π΅Π³ΠΎ отобраТСния. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ мСню, ΠΊΠΎΠ³Π΄Π° мСню ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ.
    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

    ΠœΠ΅Ρ‚ΠΊΠ° для ΠΊΠ½ΠΎΠΏΠΊΠΈ обСспСчиваСтся тСкстовым содСрТимым элСмСнта button .

    МСню

    Роль Атрибут Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ИспользованиС
    мСню ul ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ элСмСнт ul ΠΊΠ°ΠΊ мСню .
    aria-labelledby = "IDREF" ul
    • ΠžΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚ΡΡ ΠΊ элСмСнту, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит доступноС имя для мСню .
    • МСню ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ мСню.
    Π½Π΅Ρ‚ Π»ΠΈ
    элСмСнт мСню Π°
    • ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ элСмСнт ΠΊΠ°ΠΊ элСмСнт мСню .
    • ВСкстовоС содСрТимоС элСмСнта a прСдоставляСт доступноС имя элСмСнта мСню .
    tabindex = "- 1" Π° удаляСт элСмСнт a ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ страницы, Π½ΠΎ сохраняСт Π΅Π³ΠΎ фокусируСмым с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript.

    Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ JavaScript ΠΈ CSS

    Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ HTML

      
    Π¨Π°Π±Π»ΠΎΠ½ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ мСню Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ WAI-ARIA 1.1

    Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ — Mozilla | MDN

    Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ — это Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, связанноС с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ адрСсной строки. На этой страницС описаны Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π° Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΈΡ… описаниС, ΠΎΡ‚Π»Π°Π΄ΠΊΠ°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования.

    Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ, отобраТаСтся Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‰Π΅Π»ΠΊΠ°Π΅Ρ‚ Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π°, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ закрываСтся. Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, Π²Ρ‹Π·Π²Π°Π² window.close () ΠΈΠ· сцСнария, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅. Однако Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠ· JavaScript Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ; Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° дСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ сочСтаниС клавиш, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сочСтаний клавиш Β«_execute_browser_actionΒ» ΠΈ Β«_execute_page_actionΒ» .Π‘ΠΌ. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΊΠ»ΡŽΡ‡Π° manifest.json.

    Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ Π·Π°Π΄Π°Π½ΠΎ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» HTML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ CSS ΠΈ JavaScript, ΠΊΠ°ΠΊ ΠΈ обычная Π²Π΅Π±-страница. Однако, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ страницы, JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС API-интСрфСйсы WebExtension, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

    Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° загруТаСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ отобраТаСтся, ΠΈ выгруТаСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ закрываСтся.

    HTML-Ρ„Π°ΠΉΠ» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π° browser_action ΠΈΠ»ΠΈ page_action с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ "default_popup" Π² манифСстС.json:

      "browser_action": {
        "default_icon": "icons / beasts-32.png",
        "default_title": "Π£ΠΊΡ€Π°ΡΠΈΡ‚ΡŒ",
        "default_popup": "popup / choose_beast.html"
      }
      

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ стилСй Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ выглядСло согласованным с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Для этого Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ "browser_style": true Π² ΠΊΠ»ΡŽΡ‡ browser_action ΠΈΠ»ΠΈ page_action.

    Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π°

    ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ бСзопасности содСрТимого, которая ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ источники, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ рСсурсы, ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСбСзопасныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ использованиС eval () .Π‘ΠΌ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ бСзопасности ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ ΠΈ JavaScript с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° надстроСк, Π½ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автоматичСскоС скрытиС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ скрытиС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π²Π½Π΅ ΠΈΡ…. ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ ΠΎΠ± ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½.

    Π Π°Π·ΠΌΠ΅Ρ€ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ автоматичСски измСняСтся Π² соотвСтствии с ΠΈΡ… содСрТимым. Алгоритм этого ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.

    Π’ Firefox Ρ€Π°Π·ΠΌΠ΅Ρ€ рассчитываСтся нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° ΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 10 Ρ€Π°Π· Π² сСкунду послС ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ DOM.Для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² строгом Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ рассчитываСтся Π½Π° основС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π° элСмСнта . Для Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΡ€ΠΈΡ‡ΡƒΠ΄ это элСмСнт . Firefox вычисляСт ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ содСрТимого этого элСмСнта, ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ Π΄ΠΎ этой ΡˆΠΈΡ€ΠΈΠ½Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ измСняСт Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. Он вырастСт Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° 800x600 пиксСлСй Π½Π΅ Π±ΠΎΠ»Π΅Π΅ , Ссли ΠΎΠ½ умСщаСтся Π½Π° экранС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. (Π”ΠΎ Firefox 60 это Π±Ρ‹Π»ΠΎ всСго 680 пиксСлСй.) Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π² мСню ΠΈΠ»ΠΈ появляСтся Π² ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов, Ρ‚ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ появляСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ мСню ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ.

    ΠŸΡ€ΠΈ установкС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° Π² CSS, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² , Π° Π½Π΅ Π² : root .

    Π’ Firefox Android 57 Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ отобраТаСтся ΠΊΠ°ΠΊ обычная страница Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅.

    ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Π±-страницу Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° Π² соотвСтствии со стилСм Firefox, см. Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Photon Design System.

    МСню Π½Π° чистом CSS

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

    Рассмотрим ΠΏΠΎΠ»Π΅ с тСкстом Β«css / edgeΒ» Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ страницы ΠΈΠ»ΠΈ список ссылок Β«meyerwebΒ» справа. Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ достаточно ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ CSS2, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ навСсти курсор Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылки ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню. По ΠΌΠ΅Ρ€Π΅ продвиТСния Π²Π½ΠΈΠ· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылки Π² этих мСню приводят ΠΊ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ подмСню.И всС это управляСтся CSS ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ списками. ΠŸΡ€ΠΈ создании этих мСню Π½Π΅ использовался Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Javascript.

    НСт!

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

    ΠŸΠΎΠΊΠΎΠΏΠ°ΠΉΡ‚Π΅ΡΡŒ Π² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ ΠΈ CSS. ВсС это Π΅ΡΡ‚ΡŒ, ΠΈ Π½Π° самом Π΄Π΅Π»Π΅ это Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅.Π’ ΠΎΠ±ΠΎΠΈΡ… случаях Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° мСню Π½Π΅ Π±ΠΎΠ»Π΅Π΅ слоТна, Ρ‡Π΅ΠΌ нСсколько Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… элСмСнтов ul . Π― просто использовал Ρ…ΡƒΠΊΠΈ id Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ спискС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ списку ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΠ΄. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅! Π•Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅, благодаря Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ title , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ «Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки» для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню — ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ это ΠΏΠΎ любой ссылкС Π² подмСню «css / edge» (Π² любом мСню).

    Π’ΠΎΡ‚ основа этого эффСкта:

     li ul {display: none;}
      li: hover> ul {display: block;}
     

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ позиционирования ΠΏΠΎΠ²Π΅Ρ€Ρ… этого, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Π»ΠΈΡΡŒ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, ΠΈ Π²Ρ‹ Π² Π΄Π΅Π»Π΅.ΠœΠΎΡ€ΠΎΠ· Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ…, Ρ†Π²Π΅Ρ‚Π°Ρ… ΠΈ ​​т. Π”., И Π²Ρ‹ стилизуСтС.

    Как насчСт Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²?

    Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ CSS, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Internet Explorer, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ссылки Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, ΠΈ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ мСню Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Π²ΠΎΡ‚ ΠΈ всС. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ содСрТимоС всСго мСню, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ». Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ… это досадно, Π½ΠΎ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, основноС мСню всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.И количСство задСйствованной Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, вСроятно, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС символов, Ρ‡Π΅ΠΌ Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ мСню Π½Π° основС Javascript, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌ для Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ†Π΅Π»ΠΈ.

    (И Ссли Π²Ρ‹ Π²ΠΎΡ€Ρ‡ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ» систСму мСню, которая Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, сколько мСню Javascript, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я имСю Π΄Π΅Π»ΠΎ, Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π²ΡƒΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. — ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π½ΡŽΡ…ΠΈΠ²Π°ΡŽΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ это всС Π΅Ρ‰Π΅ 1998 Π³ΠΎΠ΄. Но я отвлСкся.)

    Если Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ слишком старый для понимания CSS ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ CSS, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) это Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ тСкстового Ρ€Π΅ΠΆΠΈΠΌΠ°, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Lynx, Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ всС мСню Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… списков.Π‘Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

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

    Благодарности

    ИмСнно ΠŸΠΎΡ€Ρ‚Π΅Ρ€ Π“Π»Π΅Π½Π΄ΠΈΠ½Π½ΠΈΠ½Π³ ΠΏΠΎΠ΄Π°Π» ΠΌΠ½Π΅ идСю ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ списки вмСсто Π±Π΅Π·Π½Π°Π΄Π΅ΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹Ρ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… div s, ΠΈ ΠŸΠΎΡ€Ρ‚Π΅Ρ€ ΠΈ ИнидТио Π‘ΡƒΡ€Π³ΡƒΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ нСзависимо ΠΎΡ‚ ΠΌΠΎΠΈΡ… усилий.ОбС ΠΈΡ… дСмовСрсии (ΠŸΠΎΡ€Ρ‚Π΅Ρ€Π° ΠΈ Иниго) ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ»ΠΈ ΠΌΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ сразу послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ я анонсировал ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ этой дСмовСрсии Π½Π° css-Discussion, ΠΈ Π² ΠΎΠ±ΠΎΠΈΡ… случаях ΠΎΠ½ΠΈ Π΄Π°Π»ΠΈ ΠΌΠ½Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ воплощСния этой дСмовСрсии.

    Comments