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

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Β· Bootstrap. ВСрсия v4.1.3

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

ΠžΠ±Π·ΠΎΡ€

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

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

Если Π²Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ наши JS Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ util.js

.

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

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ WAI ARIA описываСт ΠΈ опрСдСляСт Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ role="menu" ΠΊΠ°ΠΊ настоящий Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π½ΠΎ лишь для мСню Β«Π°-ля ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β», Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… дСйствия ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. МСню ARIA ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ лишь ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню, чСкбоксы, Β«Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΊΠΈΒ», Π³Ρ€ΡƒΠΏΠΏΡ‹ Β«Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΎΠΊΒ» ΠΈ подмСню.

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

role ΠΈ aria-), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для мСню согласно стандарту ARIA.

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

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

ΠžΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ Β«ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΒ» элСмСнт (ссылку ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ) Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню классом

.dropdown ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтом с position: relative;. ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ· элСмСнтов <a> ΠΈΠ»ΠΈ <button>.

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ

Π›ΡŽΠ±ΡƒΡŽ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ .btn ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Β«ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΒ» элСмСнт (ΠΊΠ½ΠΎΠΏΠΊΠ° открытия\скрытия) ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ с элСмСнтами <button>:

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Кнопка Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка
  </button>
  <div aria-labelledby="dropdownMenuButton">
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
  </div>
</div>

А Π²ΠΎΡ‚ Ρ‚Π°ΠΊ — с <a> элСмСнтами:

<div>
  <a href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π°Ρ ссылка
  </a>

  <div aria-labelledby="dropdownMenuLink">
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
  </div>
</div>

Π‘Π°ΠΌΠΎΠ΅ Π·Π°Π±Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠ½ΠΎΠΏΠΎΠΊ: «главная, вторичная, успСх, ΠΈΠ½Ρ„ΠΎ, ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΒ»:

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
<!-- Example single danger button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Action
  </button>
  <div>
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
    <div></div>
    <a href="#">Separated link</a>
  </div>
</div>

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΊΠ½ΠΎΠΏΠΎΠΊ с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·ΠΎΠ½Π°ΠΌΠΈ

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

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

Главная Toggle Dropdown Вторичная Toggle Dropdown УспСх Toggle Dropdown ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Toggle Dropdown ΠžΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Toggle Dropdown
<!-- Example split danger button -->
<div>
  <button type="button">Action</button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
    <div></div>
    <a href="#">Separated link</a>
  </div>
</div>

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Π»ΡŽΠ±Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·ΠΎΠ½Π°ΠΌΠΈ.

<!-- Large button groups (default and split) -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Large button
  </button>
  <div>
    ...
  </div>
</div>
<div>
  <button type="button">
    Large button
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    ...
  </div>
</div>

<!-- Small button groups (default and split) -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Small button
  </button>
  <div>
    ...
  </div>
</div>
<div>
  <button type="button">
    Small button
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    ...
  </div>
</div>

НаправлСния

Β«Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Π²Π΅Ρ€Ρ…Β»

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropup ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Β«Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒΒ» Π²Π²Π΅Ρ€Ρ….

Split dropup Toggle Dropdown
<!-- Default dropup button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropup
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropup button -->
<div>
  <button type="button">
    Split dropup
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

Β«Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΏΡ€Π°Π²ΠΎΒ»

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс

.dropright ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Β«Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒΒ» Π²ΠΏΡ€Π°Π²ΠΎ.

Split dropright Toggle Dropdright
<!-- Default dropright button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropright
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropright button -->
<div>
  <button type="button">
    Split dropright
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropright</span>
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

Β«Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Π»Π΅Π²ΠΎΒ»

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropleft ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Β«Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒΒ» Π²Π»Π΅Π²ΠΎ.

<!-- Default dropleft button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropleft
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropleft button -->
<div>
  <div role="group">
    <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
      <span>Toggle Dropleft</span>
    </button>
    <div>
      <!-- Dropdown menu links -->
    </div>
  </div>
  <button type="button">
    Split dropleft
  </button>
</div>

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ содСрТимым Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов всСгда Π±Ρ‹Π»ΠΈ ссылки, Π½ΠΎ BS4 ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» это. БСйчас Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС содСрТимого Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов <button>, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ <a>.

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown
  </button>
  <div aria-labelledby="dropdownMenu2">
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты класса .dropdown-item-text. Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎ стилизуйтС ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ CSS.

<div>
  <span>Dropdown item text</span>
  <a href="#">Action</a>
  <a href="#">Another action</a>
  <a href="#">Something else here</a>
</div>

АктивныС элСмСнты мСню

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .active ΠΊ элСмСнту Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню для Π΅Π³ΠΎ стилизации ΠΊΠ°ΠΊ Β«Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎΒ».

<div>
  <a href="#">Regular link</a>
  <a href="#">Active link</a>
  <a href="#">Another link</a>
</div>

НСактивныС элСмСнты мСню

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .disabled ΠΊ элСмСнту Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню для Π΅Π³ΠΎ стилизации ΠΊΠ°ΠΊ Β«Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎΒ».

<div>
  <a href="#">Regular link</a>
  <a href="#">Disabled link</a>
  <a href="#">Another link</a>
</div>

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

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

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Right-aligned menu
  </button>
  <div>
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ сСкции дСйствий любого Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню.

<div>
  <h6>Dropdown header</h6>
  <a href="#">Action</a>
  <a href="#">Another action</a>
</div>

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ мСню

РаздСляйтС Π³Ρ€ΡƒΠΏΠΏΡ‹ родствСнных элСмСнтов мСню Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ.

<div>
  <a href="#">Action</a>
  <a href="#">Another action</a>
  <a href="#">Something else here</a>
  <div></div>
  <a href="#">Separated link</a>
</div>

ВСкст мСню

Π Π°Π·ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ любой тСкст Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню с тСкстом, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ отступа. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ понадобится Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ настройка Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² для ограничСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ мСню.

<div>
  <p>
    Some example text that's free-flowing within the dropdown menu.
  </p>
  <p>
    And this is more example text.
  </p>
</div>

Π€ΠΎΡ€ΠΌΡ‹ мСню

РасполоТитС Ρ„ΠΎΡ€ΠΌΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠ°Π΄Π΄ΠΈΠ½Π³Π° ΠΈΠ»ΠΈ ΠΌΠ°Ρ€Π΄ΠΆΠΈΠ½Π° для Π΅Π΅ уплотнСния.

<div>
  <form>
    <div>
      <label for="exampleDropdownFormEmail1">Email address</label>
      <input type="email" placeholder="[email protected]">
    </div>
    <div>
      <label for="exampleDropdownFormPassword1">Password</label>
      <input type="password" placeholder="Password">
    </div>
    <div>
      <input type="checkbox">
      <label for="dropdownCheck">
        Remember me
      </label>
    </div>
    <button type="submit">Sign in</button>
  </form>
  <div></div>
  <a href="#">New around here? Sign up</a>
  <a href="#">Forgot password?</a>
</div>
<form>
  <div>
    <label for="exampleDropdownFormEmail2">Email address</label>
    <input type="email" placeholder="[email protected]">
  </div>
  <div>
    <label for="exampleDropdownFormPassword2">Password</label>
    <input type="password" placeholder="Password">
  </div>
  <div>
    <input type="checkbox">
    <label for="dropdownCheck2">
      Remember me
    </label>
  </div>
  <button type="submit">Sign in</button>
</form>

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ data-offset ΠΈΠ»ΠΈ data-reference, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ мСстополоТСниС Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ списка.

<div>
  <div>
    <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-offset="10,20">
      Offset
    </button>
    <div aria-labelledby="dropdownMenuOffset">
      <a href="#">Action</a>
      <a href="#">Another action</a>
      <a href="#">Something else here</a>
    </div>
  </div>
  <div>
    <button type="button">Reference</button>
    <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-reference="parent">
      <span>Toggle Dropdown</span>
    </button>
    <div aria-labelledby="dropdownMenuReference">
      <a href="#">Action</a>
      <a href="#">Another action</a>
      <a href="#">Something else here</a>
      <div></div>
      <a href="#">Separated link</a>
    </div>
  </div>
</div>

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

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

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

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

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ ссылкС ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-toggle="dropdown" для скрытия\ΠΏΠΎΠΊΠ°Π·Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта.

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown trigger
  </button>
  <div aria-labelledby="dLabel">
    ...
  </div>
</div>

Π§Π΅Ρ€Π΅Π· JS

УправляйтС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript:

$('.dropdown-toggle').dropdown()
data-toggle="dropdown" still required

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

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· JavaScript ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, добавляйтС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊ data- ΠΊΠ°ΠΊ Π² data-offset="".

НазваниС Π’ΠΈΠΏ По ΡƒΠΌΠΎΠ»Ρ‡. ОписаниС
offset number | string | function 0 Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π³ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°. Π‘ΠΌ. отступы Popper.js
flip boolean true ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌΡƒ элСмСнту Β«ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡΒ», Ссли ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ элСмСнта. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: flip docs.
boundary string | element ‘scrollParent’ Π“Ρ€Π°Π½ΠΈΡ†Π° ограничСния пСрСполнСния Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния 'viewport', 'window', 'scrollParent' ΠΈΠ»ΠΈ ссылку HTMLElement (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для JavaScript). Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ preventOverflow ΠΎΡ‚ Popper.js.
reference string | element ‘toggle’ Reference element of the dropdown menu. Accepts the values of 'toggle', 'parent', or an HTMLElement reference. For more information refer to Popper.js’s referenceObject docs.
display string dynamic | static By default, we use Popper.js for dynamic positioning. Disable this with `static`.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли для boundary установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ 'scrollParent', позиция position: static примСняСтся ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ .dropdown.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ОписаниС
$().dropdown('toggle') ЗадСйствуСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ toggle Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ мСню Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π²Π±Π°Ρ€Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Β«TABΒ»ΠΎΠΌ.
$().dropdown('update') ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ «выпадСния» элСмСнта.
$().dropdown('dispose') Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт.

Бобытия

ВсС события Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов Π½Π°ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ элСмСнтС класса .dropdown-menu ΠΈ нСсут свойство relatedTarget, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½ΠΎ элСмСнту «якоря» (ссылка, Ρ‚.Π΅. <a>), Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ toggle.

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

bootstrap-4.ru

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Β· Bootstrap. ВСрсия v4.0.0

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

ΠžΠ±Π·ΠΎΡ€

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

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

Если Π²Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ наши JS Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ util.js.

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

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ WAI ARIA описываСт ΠΈ опрСдСляСт Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ role="menu" ΠΊΠ°ΠΊ настоящий Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, Π½ΠΎ лишь для мСню Β«Π°-ля ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β», Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… дСйствия ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. МСню ARIA ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ лишь ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню, чСкбоксы, Β«Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΊΠΈΒ», Π³Ρ€ΡƒΠΏΠΏΡ‹ Β«Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΎΠΊΒ» ΠΈ подмСню.

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

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

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

ΠžΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ Β«ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΒ» элСмСнт (ссылку ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ) Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню классом .dropdown ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтом с position: relative;. ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ· элСмСнтов <a> ΠΈΠ»ΠΈ <button>.

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ

Π›ΡŽΠ±ΡƒΡŽ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ .btn ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Β«ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΒ» элСмСнт (ΠΊΠ½ΠΎΠΏΠΊΠ° открытия\скрытия) ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ с элСмСнтами <button>:

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Кнопка Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка
  </button>
  <div aria-labelledby="dropdownMenuButton">
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
  </div>
</div>

А Π²ΠΎΡ‚ Ρ‚Π°ΠΊ — с <a> элСмСнтами:

<div>
  <a href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π°Ρ ссылка
  </a>

  <div aria-labelledby="dropdownMenuLink">
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
  </div>
</div>

Π‘Π°ΠΌΠΎΠ΅ Π·Π°Π±Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠ½ΠΎΠΏΠΎΠΊ: «главная, вторичная, успСх, ΠΈΠ½Ρ„ΠΎ, ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΒ»:

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
<!-- Example single danger button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Action
  </button>
  <div>
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
    <div></div>
    <a href="#">Separated link</a>
  </div>
</div>

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΊΠ½ΠΎΠΏΠΎΠΊ с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·ΠΎΠ½Π°ΠΌΠΈ

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

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

Главная Toggle Dropdown Вторичная Toggle Dropdown УспСх Toggle Dropdown ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Toggle Dropdown ΠžΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Toggle Dropdown
<!-- Example split danger button -->
<div>
  <button type="button">Action</button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    <a href="#">Action</a>
    <a href="#">Another action</a>
    <a href="#">Something else here</a>
    <div></div>
    <a href="#">Separated link</a>
  </div>
</div>

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Π»ΡŽΠ±Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·ΠΎΠ½Π°ΠΌΠΈ.

<!-- Large button groups (default and split) -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Large button
  </button>
  <div>
    ...
  </div>
</div>
<div>
  <button type="button">
    Large button
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    ...
  </div>
</div>

<!-- Small button groups (default and split) -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Small button
  </button>
  <div>
    ...
  </div>
</div>
<div>
  <button type="button">
    Small button
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    ...
  </div>
</div>

Β«Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Π²Π΅Ρ€Ρ…Β»

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropup ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Β«Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒΒ» Π²Π²Π΅Ρ€Ρ….

Split dropup Toggle Dropdown
<!-- Default dropup button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropup
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropup button -->
<div>
  <button type="button">
    Split dropup
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropdown</span>
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

Β«Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΏΡ€Π°Π²ΠΎΒ»

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropright ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Β«Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒΒ» Π²ΠΏΡ€Π°Π²ΠΎ.

Split dropright Toggle Dropdright
<!-- Default dropright button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropright
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropright button -->
<div>
  <button type="button">
    Split dropright
  </button>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span>Toggle Dropright</span>
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

Β«Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²Π»Π΅Π²ΠΎΒ»

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropleft ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Β«Π²Ρ‹ΠΏΠ°Π΄Π°Ρ‚ΡŒΒ» Π²Π»Π΅Π²ΠΎ.

<!-- Default dropleft button -->
<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropleft
  </button>
  <div>
    <!-- Dropdown menu links -->
  </div>
</div>

<!-- Split dropleft button -->
<div>
  <div role="group">
    <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
      <span>Toggle Dropleft</span>
    </button>
    <div>
      <!-- Dropdown menu links -->
    </div>
  </div>
  <button type="button">
    Split dropleft
  </button>
</div>

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ содСрТимым Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов всСгда Π±Ρ‹Π»ΠΈ ссылки, Π½ΠΎ BS4 ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» это. БСйчас Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС содСрТимого Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов <button>, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ <a>.

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown
  </button>
  <div aria-labelledby="dropdownMenu2">
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

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

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

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Right-aligned menu
  </button>
  <div>
    <button type="button">Action</button>
    <button type="button">Another action</button>
    <button type="button">Something else here</button>
  </div>
</div>

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ сСкции дСйствий любого Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню.

<div>
  <h6>Dropdown header</h6>
  <a href="#">Action</a>
  <a href="#">Another action</a>
</div>

РаздСляйтС Π³Ρ€ΡƒΠΏΠΏΡ‹ родствСнных элСмСнтов мСню Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ.

<div>
  <a href="#">Action</a>
  <a href="#">Another action</a>
  <a href="#">Something else here</a>
  <div></div>
  <a href="#">Separated link</a>
</div>

РасполоТитС Ρ„ΠΎΡ€ΠΌΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠ°Π΄Π΄ΠΈΠ½Π³Π° ΠΈΠ»ΠΈ ΠΌΠ°Ρ€Π΄ΠΆΠΈΠ½Π° для Π΅Π΅ уплотнСния.

<div>
  <form>
    <div>
      <label for="exampleDropdownFormEmail1">Email address</label>
      <input type="email" placeholder="[email protected]">
    </div>
    <div>
      <label for="exampleDropdownFormPassword1">Password</label>
      <input type="password" placeholder="Password">
    </div>
    <div>
      <input type="checkbox">
      <label for="dropdownCheck">
        Remember me
      </label>
    </div>
    <button type="submit">Sign in</button>
  </form>
  <div></div>
  <a href="#">New around here? Sign up</a>
  <a href="#">Forgot password?</a>
</div>
<form>
  <div>
    <label for="exampleDropdownFormEmail2">Email address</label>
    <input type="email" placeholder="[email protected]">
  </div>
  <div>
    <label for="exampleDropdownFormPassword2">Password</label>
    <input type="password" placeholder="Password">
  </div>
  <div>
    <input type="checkbox">
    <label for="dropdownCheck2">
      Remember me
    </label>
  </div>
  <button type="submit">Sign in</button>
</form>

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .active ΠΊ элСмСнту Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню для Π΅Π³ΠΎ стилизации ΠΊΠ°ΠΊ Β«Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎΒ».

<div>
  <a href="#">Regular link</a>
  <a href="#">Active link</a>
  <a href="#">Another link</a>
</div>

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .disabled ΠΊ элСмСнту Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню для Π΅Π³ΠΎ стилизации ΠΊΠ°ΠΊ Β«Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎΒ».

<div>
  <a href="#">Regular link</a>
  <a href="#">Disabled link</a>
  <a href="#">Another link</a>
</div>

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

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

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

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

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ ссылкС ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-toggle="dropdown" для скрытия\ΠΏΠΎΠΊΠ°Π·Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта.

<div>
  <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown trigger
  </button>
  <div aria-labelledby="dLabel">
    ...
  </div>
</div>

Π§Π΅Ρ€Π΅Π· JS

УправляйтС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript:

$('.dropdown-toggle').dropdown()
data-toggle="dropdown" still required

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

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· JavaScript ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, добавляйтС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊ data- ΠΊΠ°ΠΊ Π² data-offset="".

НазваниС Π’ΠΈΠΏ По ΡƒΠΌΠΎΠ»Ρ‡. ОписаниС
offset number | string | function 0 Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π³ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°. Π‘ΠΌ. отступы Popper.js
flip boolean true ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌΡƒ элСмСнту Β«ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡΒ», Ссли ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ элСмСнта. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: flip docs.
boundary string | element ‘scrollParent’ Π“Ρ€Π°Π½ΠΈΡ†Π° ограничСния пСрСполнСния Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния 'viewport', 'window', 'scrollParent' ΠΈΠ»ΠΈ ссылку HTMLElement (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для JavaScript). Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ preventOverflow ΠΎΡ‚ Popper.js.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли для boundary установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ 'scrollParent', позиция position: static примСняСтся ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ .dropdown.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ОписаниС
$().dropdown('toggle') ЗадСйствуСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ toggle Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ мСню Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π²Π±Π°Ρ€Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Β«TABΒ»ΠΎΠΌ.
$().dropdown('update') ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ «выпадСния» элСмСнта.
$().dropdown('dispose') Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт.

Бобытия

ВсС события Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов Π½Π°ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ элСмСнтС класса .dropdown-menu ΠΈ нСсут свойство relatedTarget, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½ΠΎ элСмСнту «якоря» (ссылка, Ρ‚.Π΅. <a>), Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ toggle.

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

bootstrap-4.ru

Навигация. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Β· Bootstrap

ДокумСнтация ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Bootstrap.

ΠžΡΠ½ΠΎΠ²Ρ‹

Навигация Π² Bootstrap ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ‰ΡƒΡŽ для ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° элСмСнтов Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ, ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса .nav Π΄ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ Β«Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ…Β» состояний. ЗамСняйтС классы-ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ стилями.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ класса .nav создан Π½Π° флСксбоксС, Ρ‡Ρ‚ΠΎ обСспСчиваСт Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π±Π°Π·Ρƒ для создания всСх Ρ‚ΠΈΠΏΠΎΠ² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’ Π½Π΅Π³ΠΎ входят нСсколько стилСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Β«ΠΏΠ΅Ρ€Π΅Π±ΠΈΠ²Π°ΡŽΡ‚Β» ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ (для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΠ°Π΄Π΄ΠΈΠ½Π³ΠΈ ссылок для увСличСния Β«Π·ΠΎΠ½Ρ‹ ΠΊΠ»ΠΈΠΊΠ°Β», ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ стили Β«Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ…Β» состояний.

Π’ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ класса .nav Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ состояниС .active. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ класс, Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для дСмонстрации, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ класс Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ стили.

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Disabled</a>
  </li>
</ul>

ΠšΠ»Π°ΡΡΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²Π΅Π·Π΄Π΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ваша Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ свСрх-Π³ΠΈΠ±ΠΊΠΎΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ <ul> ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅, ΠΈΠ»ΠΈ создайтС свои; скаТСм, Π½Π° основС элСмСнта <nav>. Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ .nav ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ display: flex, ссылки Π² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π±Ρ‹Π»ΠΈ элСмСнтами Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ, Π½ΠΎ с мСньшим количСством ΠΊΠΎΠ΄Π°.

<nav>
  <a href="#">Active</a>
  <a href="#">Link</a>
  <a href="#">Link</a>
  <a href="#">Disabled</a>
</nav>

ДоступныС стили

Π˜Π·ΠΌΠ΅Π½ΡΠΉΡ‚Π΅ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² .nav классами-ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ классами. Π‘ΠΌΠ΅ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΈΡ… ΠΈ настраивайтС ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ, ΠΈΠ»ΠΈ создайтС свои.

Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅

Π˜Π·ΠΌΠ΅Π½ΡΠΉΡ‚Π΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ вашСго Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ элСмСнта с ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ флСксбокса. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ это ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° Ρ†Π΅Π½Ρ‚Ρ€ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΉ ΠΊΡ€Π°ΠΉ.

Π¦Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ классом .justify-content-center:

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Disabled</a>
  </li>
</ul>

По ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ классом .justify-content-end:

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Disabled</a>
  </li>
</ul>

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ

РасполагайтС Π²Π°ΡˆΡƒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, измСняя Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта flex классом .flex-column. Надо Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π΅Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ лишь Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π°Ρ…? Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ вСрсии (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ .flex-sm-column).

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Disabled</a>
  </li>
</ul>

Как всСгда – Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ навигация доступна ΠΈ Π±Π΅Π· <ul>.

<nav>
  <a href="#">Active</a>
  <a href="#">Link</a>
  <a href="#">Link</a>
  <a href="#">Disabled</a>
</nav>

Π’ΠΊΠ»Π°Π΄ΠΊΠΈ

Β«Π—Π°Π±ΠΈΡ€Π°Π΅Ρ‚Β» Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ элСмСнт Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ с Π²Π΅Ρ€Ρ…Π° ΠΈ добавляСт класс .nav-tabs для создания Β«Π²ΠΊΠ»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎΒ» интСрфСйса, Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… для создания Π·ΠΎΠ½Ρ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ содСрТимого Π² Π²ΠΈΠ΄Π΅ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ JavaScript.

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Disabled</a>
  </li>
</ul>

ΠŸΠΎΠ΄ΡƒΡˆΠΊΠΈ

На Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠ΄Π΅ HTML, Π½ΠΎ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс .nav-pills:

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Disabled</a>
  </li>
</ul>

НаполняйтС ΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ

Π—Π°ΡΡ‚Π°Π²ΡŒΡ‚Π΅ содСрТимоС вашСго .nav Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ Π½Π° ΠΏΠΎΠ»Π½ΡƒΡŽ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ-Π΄Π²ΡƒΡ… классов-ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Для ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ заполнСния всСго доступного пространства элСмСнтами класса .nav-item, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс nav-fill. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ всё Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ мСсто занято, Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ.

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a href="#">Much longer nav link</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#" tabindex="-1" aria-disabled="true">Disabled</a>
  </li>
</ul>

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ Π½Π° основС <nav>, ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ .nav-item Π² ссылки.

<nav>
  <a href="#">Active</a>
  <a href="#">Much longer nav link</a>
  <a href="#">Link</a>
  <a href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>

Для создания элСмСнтов Ρ€Π°Π²Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс .nav-justified. Всё Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ пространство Π±ΡƒΠ΄Π΅Ρ‚ занято ссылками Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, Π½ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° с .nav-fill Π²Ρ‹ΡˆΠ΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹.

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a href="#">Much longer nav link</a>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Disabled</a>
  </li>
</ul>

По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ с .nav-fill, Π³Π΄Π΅ использована навигация Π½Π° основС <nav>, ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ класс .nav-item Π² ссылки.

<nav>
  <a href="#">Active</a>
  <a href="#">Link</a>
  <a href="#">Link</a>
  <a href="#">Disabled</a>
</nav>

Π Π°Π±ΠΎΡ‚Π° с Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ классами

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° «отзывчивая» навигационная панСль, рассмотритС использованиС классов флСксбокса. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ Π² спСцификации, ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ настройку ΠΏΠΎ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π°ΠΌ. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ наша навигационная панСль Π±ΡƒΠ΄Π΅Ρ‚ располоТСна ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ Π½Π° самом малСньком Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π΅, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π΅Ρ‚Π΅Ρ‚ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ, которая, начиная с большСго Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π°, Π·Π°ΠΉΠΌΠ΅Ρ‚ всю Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ.

<nav>
  <a href="#">Active</a>
  <a href="#">Longer nav link</a>
  <a href="#">Link</a>
  <a href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>

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

Если Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ элСмСнтами для создания Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ role="navigation" Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий для этого Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ <ul>, ΠΈΠ»ΠΈ ΠΎΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ элСмСнтом <nav> всю Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ. НС добавляйтС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ role Π² сам <ul>, Ρ‚.ΠΊ. это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ тСхнологиям Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ этот элСмСнт ΠΊΠ°ΠΊ список.

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ стилизованы ΠΊΠ°ΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ классами .nav-tabs, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ role="tablist", role="tab" ΠΈΠ»ΠΈ role="tabpanel". Π­Ρ‚ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ подходят лишь для динамичСских интСрфСйсов Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΊΠ°ΠΊ описано Π² WAI ARIA Authoring Practices. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ JavaScript c динамичСскими интСрфСйсами Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π² этой сСкции.

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты

ДобавляйтС мСню с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ совсСм Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ HTML ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… элСмСнтов JavaScript.

Π’ΠΊΠ»Π°Π΄ΠΊΠΈ с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
    <div>
      <a href="#">Action</a>
      <a href="#">Another action</a>
      <a href="#">Something else here</a>
      <div></div>
      <a href="#">Separated link</a>
    </div>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#">Disabled</a>
  </li>
</ul>

ΠŸΠΎΠ΄ΡƒΡˆΠΊΠΈ с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами

<ul>
  <li>
    <a href="#">Active</a>
  </li>
  <li>
    <a data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
    <div>
      <a href="#">Action</a>
      <a href="#">Another action</a>
      <a href="#">Something else here</a>
      <div></div>
      <a href="#">Separated link</a>
    </div>
  </li>
  <li>
    <a href="#">Link</a>
  </li>
  <li>
    <a href="#" tabindex="-1" aria-disabled="true">Disabled</a>
  </li>
</ul>

ПовСдСниС JavaScript

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ»Π°Π³ΠΈΠ½ JavaScript Π²ΠΊΠ»Π°Π΄ΠΎΠΊ — ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ bootstrap.js — для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π°ΡˆΠΈΡ… Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΈ Β«ΠΏΠΎΠ΄ΡƒΡˆΠ΅ΠΊΒ» ΠΈ создания Π²ΠΊΠ»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ локального содСрТимого, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню.

Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ наши Ρ„Π°ΠΉΠ»Ρ‹ JS, Π²Π°ΠΌ потрСбуСтся util.js.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ динамичСски ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΊΠ°ΠΊ описано Π² WAI ARIA Authoring Practices, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² role="tablist", role="tab", role="tabpanel" ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° aria- для возмоТности ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΡ… структуры, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния ΡŽΠ·Π΅Ρ€Π°ΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ экранныС Ρ‡ΠΈΡ‚Π°Π»ΠΊΠΈ).

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ интСрфСйсы динамичСски ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню, Ρ‚.ΠΊ. это Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с usability ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния удобства для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€-элСмСнт Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π½Π΅ Π²ΠΈΠ΄Π΅Π½ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ (Ρ‚.ΠΊ. ΠΎΠ½ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню), ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ нСудобство. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния доступности ΠΏΠΎΠΊΠ° Π΅Ρ‰Π΅ Π½Π΅ сущСствуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ способа ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ элСмСнтов Π² ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π΅ стандартС WAI ARIA, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ этот Ρ‚ΠΈΠΏ элСмСнтов нСльзя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ доступным для ΡŽΠ·Π΅Ρ€ΠΎΠ² Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

Raw denim you probably haven’t heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney’s marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.

<ul role="tablist">
  <li>
    <a data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
  </li>
  <li>
    <a data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
  </li>
  <li>
    <a data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Contact</a>
  </li>
</ul>
<div>
  <div role="tabpanel" aria-labelledby="home-tab">...</div>
  <div role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div role="tabpanel" aria-labelledby="contact-tab">...</div>
</div>

Если Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π½Π° основС <ul>, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅, ΠΈΠ»ΠΈ с любой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Β«Ρ€ΡƒΠ»ΠΎΠ½ΠΎΠΉ собствСнной» Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ <nav>, Π²Π°ΠΌ Π½Π΅ слСдуСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊ Π½Π΅ΠΉ role="tablist", Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ элСмСнта Π² качСствС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π° Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ. ВмСсто этого ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ элСмСнт (Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, простой <div>) ΠΈ ΠΎΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π΅Π³ΠΎ <nav>.

Et et consectetur ipsum labore excepteur est proident excepteur ad velit occaecat qui minim occaecat veniam. Fugiat veniam incididunt anim aliqua enim pariatur veniam sunt est aute sit dolor anim. Velit non irure adipisicing aliqua ullamco irure incididunt irure non esse consectetur nostrud minim non minim occaecat. Amet duis do nisi duis veniam non est eiusmod tempor incididunt tempor dolor ipsum in qui sit. Exercitation mollit sit culpa nisi culpa non adipisicing reprehenderit do dolore. Duis reprehenderit occaecat anim ullamco ad duis occaecat ex.

Nulla est ullamco ut irure incididunt nulla Lorem Lorem minim irure officia enim reprehenderit. Magna duis labore cillum sint adipisicing exercitation ipsum. Nostrud ut anim non exercitation velit laboris fugiat cupidatat. Commodo esse dolore fugiat sint velit ullamco magna consequat voluptate minim amet aliquip ipsum aute laboris nisi. Labore labore veniam irure irure ipsum pariatur mollit magna in cupidatat dolore magna irure esse tempor ad mollit. Dolore commodo nulla minim amet ipsum officia consectetur amet ullamco voluptate nisi commodo ea sit eu.

<nav>
  <div role="tablist">
    <a data-toggle="tab" href="#nav-home" role="tab" aria-controls="nav-home" aria-selected="true">Home</a>
    <a data-toggle="tab" href="#nav-profile" role="tab" aria-controls="nav-profile" aria-selected="false">Profile</a>
    <a data-toggle="tab" href="#nav-contact" role="tab" aria-controls="nav-contact" aria-selected="false">Contact</a>
  </div>
</nav>
<div>
  <div role="tabpanel" aria-labelledby="nav-home-tab">...</div>
  <div role="tabpanel" aria-labelledby="nav-profile-tab">...</div>
  <div role="tabpanel" aria-labelledby="nav-contact-tab">...</div>
</div>

Плагин Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ с Β«ΠΏΠΎΠ΄ΡƒΡˆΠΊΠ°ΠΌΠΈΒ».

Consequat occaecat ullamco amet non eiusmod nostrud dolore irure incididunt est duis anim sunt officia. Fugiat velit proident aliquip nisi incididunt nostrud exercitation proident est nisi. Irure magna elit commodo anim ex veniam culpa eiusmod id nostrud sit cupidatat in veniam ad. Eiusmod consequat eu adipisicing minim anim aliquip cupidatat culpa excepteur quis. Occaecat sit eu exercitation irure Lorem incididunt nostrud.

Ad pariatur nostrud pariatur exercitation ipsum ipsum culpa mollit commodo mollit ex. Aute sunt incididunt amet commodo est sint nisi deserunt pariatur do. Aliquip ex eiusmod voluptate exercitation cillum id incididunt elit sunt. Qui minim sit magna Lorem id et dolore velit Lorem amet exercitation duis deserunt. Anim id labore elit adipisicing ut in id occaecat pariatur ut ullamco ea tempor duis.

<ul role="tablist">
  <li>
    <a data-toggle="pill" href="#pills-home" role="tab" aria-controls="pills-home" aria-selected="true">Home</a>
  </li>
  <li>
    <a data-toggle="pill" href="#pills-profile" role="tab" aria-controls="pills-profile" aria-selected="false">Profile</a>
  </li>
  <li>
    <a data-toggle="pill" href="#pills-contact" role="tab" aria-controls="pills-contact" aria-selected="false">Contact</a>
  </li>
</ul>
<div>
  <div role="tabpanel" aria-labelledby="pills-home-tab">...</div>
  <div role="tabpanel" aria-labelledby="pills-profile-tab">...</div>
  <div role="tabpanel" aria-labelledby="pills-contact-tab">...</div>
</div>

И с Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Β«ΠΏΠΎΠ΄ΡƒΡˆΠΊΠ°ΠΌΠΈΒ».

Cillum ad ut irure tempor velit nostrud occaecat ullamco aliqua anim Lorem sint. Veniam sint duis incididunt do esse magna mollit excepteur laborum qui. Id id reprehenderit sit est eu aliqua occaecat quis et velit excepteur laborum mollit dolore eiusmod. Ipsum dolor in occaecat commodo et voluptate minim reprehenderit mollit pariatur. Deserunt non laborum enim et cillum eu deserunt excepteur ea incididunt minim occaecat.

Culpa dolor voluptate do laboris laboris irure reprehenderit id incididunt duis pariatur mollit aute magna pariatur consectetur. Eu veniam duis non ut dolor deserunt commodo et minim in quis laboris ipsum velit id veniam. Quis ut consectetur adipisicing officia excepteur non sit. Ut et elit aliquip labore Lorem enim eu. Ullamco mollit occaecat dolore ipsum id officia mollit qui esse anim eiusmod do sint minim consectetur qui.

Fugiat id quis dolor culpa eiusmod anim velit excepteur proident dolor aute qui magna. Ad proident laboris ullamco esse anim Lorem Lorem veniam quis Lorem irure occaecat velit nostrud magna nulla. Velit et et proident Lorem do ea tempor officia dolor. Reprehenderit Lorem aliquip labore est magna commodo est ea veniam consectetur.

Eu dolore ea ullamco dolore Lorem id cupidatat excepteur reprehenderit consectetur elit id dolor proident in cupidatat officia. Voluptate excepteur commodo labore nisi cillum duis aliqua do. Aliqua amet qui mollit consectetur nulla mollit velit aliqua veniam nisi id do Lorem deserunt amet. Culpa ullamco sit adipisicing labore officia magna elit nisi in aute tempor commodo eiusmod.

<div>
  <div>
    <div role="tablist" aria-orientation="vertical">
      <a data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-selected="true">Home</a>
      <a data-toggle="pill" href="#v-pills-profile" role="tab" aria-controls="v-pills-profile" aria-selected="false">Profile</a>
      <a data-toggle="pill" href="#v-pills-messages" role="tab" aria-controls="v-pills-messages" aria-selected="false">Messages</a>
      <a data-toggle="pill" href="#v-pills-settings" role="tab" aria-controls="v-pills-settings" aria-selected="false">Settings</a>
    </div>
  </div>
  <div>
    <div>
      <div role="tabpanel" aria-labelledby="v-pills-home-tab">...</div>
      <div role="tabpanel" aria-labelledby="v-pills-profile-tab">...</div>
      <div role="tabpanel" aria-labelledby="v-pills-messages-tab">...</div>
      <div role="tabpanel" aria-labelledby="v-pills-settings-tab">...</div>
    </div>
  </div>
</div>

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΈΠ»ΠΈ Β«ΠΏΠΎΠ΄ΡƒΡˆΠΊΠ΅Β» Π±Π΅Π· JavaScript, Π° просто Π΄ΠΎΠ±Π°Π²ΠΈΠ² data-toggle="tab" ΠΈΠ»ΠΈ data-toggle="pill" ΠΊ элСмСнту. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эти Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π² .nav-tabs ΠΈΠ»ΠΈ .nav-pills.

<!-- Nav tabs -->
<ul role="tablist">
  <li>
    <a data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
  </li>
  <li>
    <a data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
  </li>
  <li>
    <a data-toggle="tab" href="#messages" role="tab" aria-controls="messages" aria-selected="false">Messages</a>
  </li>
  <li>
    <a data-toggle="tab" href="#settings" role="tab" aria-controls="settings" aria-selected="false">Settings</a>
  </li>
</ul>

<!-- Tab panes -->
<div>
  <div role="tabpanel" aria-labelledby="home-tab">...</div>
  <div role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div role="tabpanel" aria-labelledby="messages-tab">...</div>
  <div role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>

Π§Π΅Ρ€Π΅Π· JavaScript

ЗадСйствуйтС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· JavaScript (каТдая Π²ΠΊΠ»Π°Π΄ΠΊΠ° задСйствуСтся ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ):

$('#myTab a').on('click', function (e) {
  e.preventDefault()
  $(this).tab('show')
})

Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколькими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ:

$('#myTab a[href="#profile"]').tab('show') // Select tab by name
$('#myTab li:first-child a').tab('show') // Select first tab
$('#myTab li:last-child a').tab('show') // Select last tab
$('#myTab li:nth-child(3) a').tab('show') // Select third tab

Π­Ρ„Ρ„Π΅ΠΊΡ‚ появлСния

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ постСпСнно появлялись, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .fade Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт класса .tab-pane. ΠŸΠ΅Ρ€Π²Π°Ρ Π²ΠΊΠ»Π°Π΄ΠΊΠ° .tab-pane Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ класс .show, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π±Ρ‹Π» Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ.

<div>
  <div role="tabpanel" aria-labelledby="home-tab">...</div>
  <div role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div role="tabpanel" aria-labelledby="messages-tab">...</div>
  <div role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>

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

АсинхронныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

ВсС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ API асинхронны ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄. Они Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΉ ΠΈΡ…, с Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Π½ΠΎ Π΄ΠΎ Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ†Π°. Плюс, Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

$().tab

АктивируСт Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ содСрТимого. Π’ΠΊΠ»Π°Π΄ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ data-target ΠΈΠ»ΠΈ href, Β«Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹Π΅Β» Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€-ΡƒΠ·Π΅Π» Π² DOM.

<ul role="tablist">
  <li>
    <a data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
  </li>
  <li>
    <a data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
  </li>
  <li>
    <a data-toggle="tab" href="#messages" role="tab" aria-controls="messages" aria-selected="false">Messages</a>
  </li>
  <li>
    <a data-toggle="tab" href="#settings" role="tab" aria-controls="settings" aria-selected="false">Settings</a>
  </li>
</ul>

<div>
  <div role="tabpanel" aria-labelledby="home-tab">...</div>
  <div role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div role="tabpanel" aria-labelledby="messages-tab">...</div>
  <div role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>

<script>
  $(function () {
    $('#myTab li:last-child a').tab('show')
  })
</script>
.tab(β€˜show’)

Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π΄Π°Π½Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Π½Π΅ΠΉ Β«ΠΏΠΎΠ΄ΡƒΡˆΠΊΡƒΒ». Π›ΡŽΠ±Π°Ρ другая Π²ΠΊΠ»Π°Π΄ΠΊΠ°, которая Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° Π΄ΠΎ этого, становится Β«Π½Π΅Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉΒ» ΠΈ Π΅Π΅ Β«ΠΏΠΎΠ΄ΡƒΡˆΠΊΠ°Β» прячСтся. ВозвращаСтся ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Π²Ρ‹Π·ΠΎΠ²Ρƒ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΈΠ»ΠΈ скрыт (Ρ‚.Π΅. Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ событиС shown.bs.tab).

$('#someTab').tab('show')

.tab(β€˜dispose’)

Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ элСмСнта.

Бобытия

ΠŸΡ€ΠΈ ΠΏΠΎΠΊΠ°Π·Π΅ Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ события Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² Ρ‚Π°ΠΊΠΎΠΉ порядкС:

  1. hide.bs.tab (Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅)
  2. show.bs.tab (Π½Π° Ρ‚ΠΎΠΉ, которая Π²ΠΎΡ‚-Π²ΠΎΡ‚ покаТСтся)
  3. hidden.bs.tab (Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅, ΠΊΠ°ΠΊ для события hide.bs.tab)
  4. shown.bs.tab (Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Π²ΡˆΠ΅ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ, Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ для события show.bs.tab)

Если Π½ΠΈ ΠΎΠ΄Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ° Π½Π΅ Π±Ρ‹Π»Π° Π°ΠΊΡ‚ΠΈΠ²Π½Π°, события hide.bs.tab ΠΈ hidden.bs.tab Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄ΡƒΡ‚.

Π’ΠΈΠΏ события ОписаниС
show.bs.tab Π­Ρ‚ΠΎ событиС запускаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΊΠ°Π·Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Π½ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ новая Π²ΠΊΠ»Π°Π΄ΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ event.target ΠΈ event.relatedTarget для «нацСливания» Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ (Ссли доступно) соотвСтствСнно.
shown.bs.tab Π­Ρ‚ΠΎ событиС запускаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΊΠ°Π·Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ новая Π²ΠΊΠ»Π°Π΄ΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ event.target ΠΈ event.relatedTarget для «нацСливания» Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ (Ссли доступно) соотвСтствСнно.
hide.bs.tab Π­Ρ‚ΠΎ событиС запускаСтся, ΠΊΠΎΠ³Π΄Π° новая Π²ΠΊΠ»Π°Π΄ΠΊΠ° Π²ΠΎΡ‚-Π²ΠΎΡ‚ покаТСтся (ΠΈ Ρ‚.ΠΎ. – прСдыдущая активная Π²ΠΊΠ»Π°Π΄ΠΊΠ° Π²ΠΎΡ‚-Π²ΠΎΡ‚ скроСтся). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ event.target ΠΈ event.relatedTarget для «нацСливания» Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ соотвСтствСнно.
hidden.bs.tab Π­Ρ‚ΠΎ событиС запускаСтся, ΠΊΠΎΠ³Π΄Π° новая Π²ΠΊΠ»Π°Π΄ΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½Π° (ΠΈ Ρ‚.ΠΎ. прСдыдущая активная Π²ΠΊΠ»Π°Π΄ΠΊΠ° скрыта). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ event.target ΠΈ event.relatedTarget для «нацСливания» Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈ Π½ΠΎΠ²ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ соотвСтствСнно.
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  e.target // newly activated tab
  e.relatedTarget // previous active tab
})

bootstrap-4.ru

50+ Π»ΡƒΡ‡ΡˆΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΊ Bootstrap / DataArt corporate blog / Habr

Благодаря популярности CSS Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Bootstrap, для Π½Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ массу Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ. Π”Π°ΠΆΠ΅ сСйчас Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Bootstrap практичСски для любой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ вСбсайта.

Для ΡΡ‚Π°Ρ‚ΡŒΠΈ я ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π» Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ дополнСния Β«Π½Π° всС случаи ΠΆΠΈΠ·Π½ΠΈΒ».

Наборы ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²


Fuel UX


ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Bootstrap. Π’ Π½Π΅Π³ΠΎ входят Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π΅Ρ€Π΅Π²ΡŒΡ, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, Π΄Π°Ρ‚Π°ΠΏΠΈΠΊΠ΅Ρ€Ρ‹, Π²ΠΈΠ·Π°Ρ€Π΄Ρ‹ ΠΈ Ρ‚. ΠΏ.

Website
Github

X-editable


Π”ΡƒΠΌΠ°ΡŽ, это Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для ΠΈΠ½Π»Π°ΠΉΠ½-рСдактирования. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ вСрсии Bootstrap ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π· Π½Π΅Π³ΠΎ (Π½Π° jQuery).

Website
Github

Jasny


НСбольшой Π½Π°Π±ΠΎΡ€ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΊ Bootstrap. Π’ Π½Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, маски для ΠΈΠ½ΠΏΡƒΡ‚ΠΎΠ² ΠΈ Ρ‚. ΠΏ.

Website
Github

Bootstrap Form Helper


Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ интСрСсный Π½Π°Π±ΠΎΡ€ элСмСнтов. Π’ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ Π²Π΅Ρ€ΡΠΈΡŽ входят Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты, ΠΊΠ°ΠΊ ΠΈΠ½ΠΏΡƒΡ‚Ρ‹ для Π²Ρ‹Π±ΠΎΡ€Π° Π²Π°Π»ΡŽΡ‚, стран, Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·ΠΎΠ½, языков ΠΈ Ρ‚. ΠΏ.

Website
Github

Leapstrap


Набор элСмСнтов для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° Leapstrap ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π­Ρ‚ΠΎ довольно-Ρ‚Π°ΠΊΠΈ нСобычная Π²Π΅Ρ‰ΠΈΡ†Π°, поэтому Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽ Π΅Π΅ Π² этот список.

Website
Github

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹


jQuery Bootpag


Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π² стандартном ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ Bootstrap β€” Pagination. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ динамичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Website
Github

Tocify


ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для отслСТивания содСрТания страницы. ΠžΡ‡Π΅Π½ΡŒ часто Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° для создания соврСмСнных вСбсайтов.

Website
Github

Bootstrap Link Preview


НСбольшой ΠΈ ΠΎΡ‡Π΅Π½ΡŒ простой Π² использовании ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для прСдпросмотра ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΏΠΎ ссылкС (Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Facebook-прСдпросмотра).

Website
Github

Flippant.js


НСбольшой скрипт для создания «двусторонних» Π±Π»ΠΎΠΊΠΎΠ². ИдСально для создания Ρ„ΠΎΡ€ΠΌ, ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ ΠΈ Ρ‚. ΠΏ.

Website
Github

Bootstrap Tour


ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Bootstrap, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Ρ‚ΡƒΡ€ для Π½ΠΎΠ²Ρ‹Ρ… посСтитСлСй вашСго сайта.

http://bootstraptour.com/
https://github.com/sorich87/bootstrap-tour

Bootstro.js


Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ инструмСнта. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Ρ‚Π°ΠΊΠΆΠ΅ для создания пошагового Ρ‚ΡƒΡ€Π° для вашСго сайта ΠΈΠ»ΠΈ Π²Π΅Π± прилоТСния.

Website
GitHub

Yet Another MegaMenu (YAMM)


ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ практичСски Π»ΡŽΠ±ΠΎΠΌΡƒ соврСмСнного сайта. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π»Π°Π²Π½ΠΎΠ΅ мСню Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ практичСски любой слоТности.

Website
GitHub

Dropdown Menus Enhancement


Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ стандартному мСню Bootstrap. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности, ΠΊΠ°ΠΊ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ мСню, Π²Ρ‹Π²ΠΎΠ΄ Π² мСню Ρ€Π°Π΄ΠΈΠΎ- ΠΈ чСкбокс-ΠΈΠ½ΠΏΡƒΡ‚ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Website
Github

Bootstrap Tree View


ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для отобраТСния Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ структуры. Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ стандартныС Glyph-ΠΈΠΊΠΎΠ½ΠΊΠΈ.

Github

GTreeTable


Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡƒΡŽ структуру. ΠžΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΠ±ΠΈΠ»ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°: Drag&Drop, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ‚. ΠΏ.

Website
Github

Bootstrap Star Rating


ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для простого создания Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π°, Π»Π΅Π³ΠΊΠΎ кастомизируСтся. По ΠΎΠΏΡ‹Ρ‚Ρƒ ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ: ΠΎΡ‡Π΅Π½ΡŒ часто приходится ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.

Website
Github

Gridmanager.js


Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, основанный Π½Π° строках ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ… Bootstrap-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Пока Π½Π΅ нашСл, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π’Ρ‹Π»ΠΎΠΆΠΈΠ» большС, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Website
GitHub

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Для Π€ΠΎΡ€ΠΌ


Bootstrap Tags


ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для простого создания Ρ‚Π΅Π³ΠΎΠ². ΠžΡ‡Π΅Π½ΡŒ прост Π² использовании ΠΈ Ρ‚ΠΎΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ кастомизируСтся. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со всСми вСрсиями Bootstrap.

Website
Github

Bootstrap Switch


ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для создания Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для любого Π΄ΠΈΠ·Π°ΠΉΠ½Π° сайта, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚ΡƒΡ‚ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, анимация, Ρ†Π²Π΅Ρ‚ ΠΈ Ρ‚. ΠΏ.

Website
Github

Bootstrap Maxlength


НСплохой Β«ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΒ» для тСкстовых ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°. ΠŸΡ€ΠΎΡΡ‚ Π² использовании, ΠΈΠ½ΠΎΠ³Π΄Π° Π±Ρ‹Π²Π°Π΅Ρ‚ просто Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ.

Website
Github

Bootstrap Select


ΠžΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ списка. ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования.

Website
Github

Chosen



ΠžΡ‡Π΅Π½ΡŒ простой скрипт для Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ поля со списком. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство ΠΎΠΏΡ†ΠΈΠΉ ΠΈ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΉ для использования этого поля.

Website
Github

Bootstrap Multiselect



Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ поля списка. Π”Π°Π½Π½Ρ‹ΠΉ скрипт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ события ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ / Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ / Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈ Ρ‚. ΠΏ. Никогда вСдь Π½Π΅ знаСшь, Ρ‡Ρ‚ΠΎ попросит клиСнт…

Website
Github

Bootstrap Validator


НСзамСнимый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π² Bootstrap-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅. Π­ΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ: ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, содСрТит ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

Website
Github

jqBootstrapValidation


Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ (Π²Π°Ρ€ΠΈΠ°Π½Ρ‚) для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ Π½Π° Bootstrap-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ большоС количСство ΠΎΠΏΡ†ΠΈΠΉ для создания ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

Website
Github

jQuery File Upload


НСплохой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство сСрвСрных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Websit
Github

Bootstrap Tag Autocomplete


ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для простого создания автодополнСния. ΠžΡ‡Π΅Π½ΡŒ простой Π² использовании ΠΈ Π»Π΅Π³ΠΊΠΈΠΉ (ΠΏΠΎ вСсу) скрипт. Π”ΡƒΠΌΠ°ΡŽ, заслуТиваСт добавлСния Π² ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ инструмСнтов.

Website
Github

Tag Manager


Π“ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ скрипт (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚) для создания Ρ‚Π΅Π³ΠΎΠ². ΠžΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ†ΠΈΠΉ ΠΈ, соотвСтствСнно, возмоТностСй использования.

Website
Github

Typeahead


ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для Π°Π²Ρ‚ΠΎ дополнСния с тСкстовом ΠΏΠΎΠ»Π΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° скрипта (для поиска ΠΈ отобраТСния), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ вмСстС, ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

Website
Github

Slider for Bootstrap


Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ элСмСнт, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΊΡƒΡ‡Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ВмСсто Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ β€” просто ΠΏΠ΅Ρ€Π΅Ρ‚ΡΠ½ΡƒΡ‚ΡŒ слайдСр. Много ΠΎΠΏΡ†ΠΈΠΉ, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ стилизируСтся.

Website

Tokenfield for Bootstrap



ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для простого создания Ρ‚Π΅Π³ΠΎΠ². ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ стилизирован, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ†ΠΈΠΉ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ ΠΈ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΈ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°.

Website
Github

Label in Place


Π›Π΅Π³ΠΊΠΈΠΉ скрипт для создания Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ эффСкта объСдинСния label-элСмСнта с ΠΏΠΎΠ»Π΅ΠΌ Π²Π²ΠΎΠ΄Π°. Π˜ΠΌΠ΅Π΅Ρ‚ мноТСство ΠΎΠΏΡ†ΠΈΠΉ. Иногда Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ :).

Website
Github

Strength Meter



ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для опрСдСлСния слоТности Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ пароля. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для распространСнной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ†ΠΈΠΉ ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅.

Website
Github

Bootstrap File Input


ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ прСдпросмотр ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Website
Github

Ladda UI for Bootstrap 3



Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ интСрСсная Π·Π°Π΄ΡƒΠΌΠΊΠ° с использованиСм ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прямо Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ….

Website
Github

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΊ Twitter Bootstrap Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡƒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ. Π”Π°ΠΆΠ΅ Π²ΠΎ врСмя написания ΡΡ‚Π°Ρ‚ΡŒΠΈ я ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π» Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ интСрСсныС Π°Π΄Π΄ΠΎΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ситуации.

Date & Time Pickers


Daterangepicker

Website
Github

Bootstrap Timepicker

Website
Github

Clockface

Website
Github

Bootstrap Datetime

Website
Github

Bic_Calendar

Website
Github

Π‘olor Pickers


Pick a Color

Website
Github

Colorpicker for Bootstrap

Website
Github

Color Palette

Website
Github

Editors


Bootstrap Markdown

Website
Github

Bootstrap WYSIHTML5

Website
Github

Summernote

Website
Github

Tables


Tablecloth

Website
Github

Bootstrap Table

Website
Github

Media & Galleries


Bootstrap Lightbox

Website
Github

Bootstrap Image Gallery

Website
Github

Bootstrap Icon Picker

Website
Github

Dialogs & Notifications


Bootbox.js

Website
Github

Bootstrap Modal

Website
Github

Bootstrap Notify

Website
Github

Bootstrap Confirmation

Website
Github

Bootstrap Growl

Website
Github

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ эти дополнСния ΠΌΠ½Π΅ показались Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с Bootstrap-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ. Они ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

НадСюсь, Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ моя коллСкция. Если ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ дополнСниями ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π² этот список, ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΈΡ… Π² коммСнтариях, ΠΌΠ½Π΅ (ΠΈ, Π΄ΡƒΠΌΠ°ΡŽ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ) ΠΎΠ½ΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹.


Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Кабаков
WordPress Developer

habr.com

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Β· Twitter Bootstrap: Π½Π° Русском

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

Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅, контСкстноС мСню со списком ссылок. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ совмСстно с JS-ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ: dropdown javascript plugin.

<ul role="menu" aria-labelledby="dropdownMenu">
  <li><a tabindex="-1" href="#">ДСйствиС</a></li>
  <li><a tabindex="-1" href="#">Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС</a></li>
  <li><a tabindex="-1" href="#">Π•Ρ‰Π΅ ссылка</a></li>
  <li></li>
  <li><a tabindex="-1" href="#">Π”ΠΎΠΏ. ссылка</a></li>
</ul>

Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°

ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ Π² элСмСнт с классом .dropdown, ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт со свойством position: relative;. Π—Π°Ρ‚Π΅ΠΌ создайтС мСню.

<div>
  <!-- Link or button to toggle dropdown -->
  <ul role="menu" aria-labelledby="dLabel">
    <li><a tabindex="-1" href="#">ДСйствиС</a></li>
    <li><a tabindex="-1" href="#">Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС</a></li>
    <li><a tabindex="-1" href="#">Π•Ρ‰Π΅ ссылка</a></li>
    <li></li>
    <li><a tabindex="-1" href="#">Π”ΠΎΠΏ. ссылка</a></li>
  </ul>
</div>

ΠžΠΏΡ†ΠΈΠΈ

ВыровняйтС мСню ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ подмСню.

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ мСню

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .pull-right ΠΊ элСмСнту с классом .dropdown-menu для выравнивания мСню ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ.

<ul role="menu" aria-labelledby="dLabel">
  ...
</ul>

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄-список, Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора Π² стилС OS X. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ класс .dropdown-submenu ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ элСмСнту li Π² ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС.

<ul role="menu" aria-labelledby="dLabel">
  ...
  <li>
    <a tabindex="-1" href="#">More options</a>
    <ul>
      ...
    </ul>
  </li>
</ul>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ прСдоставлСн ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ:

bootstrap-ru.com

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ элСмСнтов. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Β· Bootstrap. ВСрсия v4.1.3

БыстроС ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… элСмСнтов ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°ΡˆΠΈΡ… слуТСбных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ отобраТСния. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для управлСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

Как это устроСно

Π˜Π·ΠΌΠ΅Π½ΡΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства display с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°ΡˆΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… классов отобраТСния. ΠœΡ‹ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄Π½Π°Π±ΠΎΡ€ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойства display. ΠšΠ»Π°ΡΡΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… эффСктов, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½Π°Π΄ΠΎ.

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠšΠ»Π°ΡΡΡ‹ отобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подходят всСм Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π°ΠΌ, ΠΎΡ‚ xs Π΄ΠΎ xl, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π² своСм Π½Π°Π·Π²Π°Π½ΠΈΠΈ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π°, Ρ‚.ΠΊ. эти классы ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, начиная ΠΎΡ‚ min-width: 0; ΠΈ Π²Ρ‹ΡˆΠ΅, ΠΈ Ρ‚.ΠΎ., Π½Π΅ «связаны» ΠΌΠ΅Π΄ΠΈΠ°-запросами. ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π°.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ классы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ:

  • .d-{value} для xs
  • .d-{breakpoint}-{value} для sm, md, lg ΠΈ xl.

Π“Π΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ – это ΠΎΠ΄Π½ΠΎ ΠΈΠ·:

  • none
  • inline
  • inline-block
  • block
  • table
  • table-cell
  • table-row
  • flex
  • inline-flex

МСдиа-запросы Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΡˆΠΈΡ€ΠΈΠ½Ρƒ экрана, начиная с ΡƒΠΊΠ°Π·Π°Π½Π½Π½ΠΎΠ³ΠΎ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠ½Ρ‚Π° ΠΈΠ»ΠΈ большС. НапримСр, .d-lg-none Π·Π°Π΄Π°Π΅Ρ‚ display: none; Π½Π° ΠΎΠ±ΠΎΠΈΡ… lg ΠΈ xl.

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

<div>d-inline</div>
<div>d-inline</div>

d-block d-block

<span>d-block</span>
<span>d-block</span>

Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ элСмСнтов

Для быстрой ΠΌΠΎΠ±ΠΈΠ»-Ρ„Ρ€Π΅Π½Π΄Π»ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ классы для ΠΏΠΎΠΊΠ°Π·Π° ΠΈ скрытия элСмСнтов Π½Π° устройствС. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ создания ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий сайта, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ просто Β«ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΒ» ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ элСмСнт для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° экрана.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ элСмСнты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс .d-none ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· классов .d-{sm,md,lg,xl}-none.

Для ΠΏΠΎΠΊΠ°Π·Π° элСмСнта Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΈΠ½Π²Π΅Ρ€Π²Π°Π»Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² экрана Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ класс .d-*-none с классом .d-*-*, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ .d-none .d-md-block .d-xl-none скроСт элСмСнт Π½Π° всСх Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… экрана, ΠΊΡ€ΠΎΠΌΠ΅ срСдних ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ….

Π Π°Π·ΠΌΠ΅Ρ€ экрана Класс
Π‘ΠΊΡ€Ρ‹Ρ‚ Π½Π° всСх .d-none
Π‘ΠΊΡ€Ρ‹Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° xs .d-none .d-sm-block
Π‘ΠΊΡ€Ρ‹Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° sm .d-sm-none .d-md-block
Π‘ΠΊΡ€Ρ‹Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° md .d-md-none .d-lg-block
Π‘ΠΊΡ€Ρ‹Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° lg .d-lg-none .d-xl-block
Π‘ΠΊΡ€Ρ‹Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° xl .d-xl-none
Π’ΠΈΠ΄Π΅Π½ Π½Π° всСх .d-block
Π’ΠΈΠ΄Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° xs .d-block .d-sm-none
Π’ΠΈΠ΄Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° sm .d-none .d-sm-block .d-md-none
Π’ΠΈΠ΄Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° md .d-none .d-md-block .d-lg-none
Π’ΠΈΠ΄Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° lg .d-none .d-lg-block .d-xl-none
Π’ΠΈΠ΄Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° xl .d-none .d-xl-block

Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎ Π½Π° экранах ΡˆΠΈΡ€Π΅ lg

Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎ Π½Π° экранах мСньшС lg

<div>Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎ Π½Π° экранах ΡˆΠΈΡ€Π΅ lg</div>
<div>Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎ Π½Π° экранах мСньшС lg</div>

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ display элСмСнтов ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°ΡˆΠΈΡ… классов. Бюда Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π°ΠΊΠΈΡ… ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ display, ΠΊΠ°ΠΊ Π² Π½Π°ΡˆΠΈΡ… ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… классах .d-*.

  • .d-print-none
  • .d-print-inline
  • .d-print-inline-block
  • .d-print-block
  • .d-print-table
  • .d-print-table-row
  • .d-print-table-cell
  • .d-print-flex
  • .d-print-inline-flex

ΠšΠ»Π°ΡΡΡ‹ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈ отобраТСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ.

Волько экран (Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ)

Волько ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° экранС)

Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… экранов, Π½ΠΎ всСгда отобраТаСтся для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ

<div>Волько экран (Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ)</div>
<div>Волько ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° экранС)</div>
<div>Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… экранов, Π½ΠΎ всСгда отобраТаСтся для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ</div>

bootstrap-4.ru

Bootstrap – Forms (Ρ„ΠΎΡ€ΠΌΡ‹) | ИВ Π¨Π΅Ρ„

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрим ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Bootstrap 3 ΠΈ 4 Forms. Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для оформлСния HTML Ρ„ΠΎΡ€ΠΌ.

ΠžΠ±Π·ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Forms

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Forms – это Π½Π°Π±ΠΎΡ€ стилСй (CSS), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для оформлСния HTML Ρ„ΠΎΡ€ΠΌ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ стилСй ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ Π΅Ρ‘ элСмСнтам осущСствляСтся посрСдством классов.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стилСй Bootstrap:


<!-- HTML-Ρ„ΠΎΡ€ΠΌΠ°, оформлСнная с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стилСй Bootstrap 4 -->
<form method="post" action="#" autocomplete="off">
  <div>
    <label for="email">Email адрСс</label>
    <input name="email" type="email" placeholder="Π’Π²Π΅Π΄ΠΈΡ‚Π΅ email">
  </div>
  <div>
    <label for="password">Password</label>
    <input name="password" type="password" placeholder="Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ">
  </div>
  <div>
    <input type="checkbox">
    <label name="save" for="save">Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ мСня</label>
  </div>
  <button type="submit">Π’ΠΎΠΉΡ‚ΠΈ</button>
</form>

ΠŸΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌ с использованиСм Bootstrap ΠΈΠ»ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ всСм элСмСнтам input ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° type. НапримСр, полям, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ для Π²Π²ΠΎΠ΄Π° элСктронного адрСса, устанавливайтС email, полям, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ для Π²Π²ΠΎΠ΄Π° числовых Π΄Π°Π½Π½Ρ‹Ρ… – number ΠΈ Ρ‚.Π΄.

ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ создания Ρ„ΠΎΡ€ΠΌ Π² Bootstrap:

  • ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ элСмСнтов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, input ΠΈ связанный с Π½ΠΈΠΌ label) Π² элСмСнт div с классом form-group. Π­Ρ‚ΠΎΡ‚ класс добавляСт Π½ΠΈΠΆΠ½ΠΈΠ΅ отступы ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ элСмСнтов. ΠšΡ€ΠΎΠΌΠ΅ этого Π΄Π°Π½Π½Ρ‹ΠΉ класс Ρ‚Π°ΠΊΠΆΠ΅ добавляСт стили ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ элСмСнтам Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройствах.
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ тСкстовому элСмСнту управлСния Ρ„ΠΎΡ€ΠΌΡ‹ input, select ΠΈ textarea класс form-control. Π”Π°Π½Π½Ρ‹ΠΉ класс добавляСт ΠΊ элСмСнтам Ρ„ΠΎΡ€ΠΌΡ‹ стили Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ оформлСния, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ фокус, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Bootstrap 3 содСрТит Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ стили ΠΈ классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для оформлСния HTML Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов управлСния.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ стили ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ CSS ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ внСшний Π²ΠΈΠ΄ элСмСнтов управлСния Π½Π° Π²Π΅Π±-страницС. Π­Ρ‚ΠΈ стили элСмСнты управлСния ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ автоматичСски, ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΈΡ… явно Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ трСбуСтся.

Π’ Twitter Bootstrap 3 основная Π·Π°Π΄Π°Ρ‡Π° для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² основном сводится Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… классов для элСмСнтов управлСния, Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΈ создании ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ прСдставим Π² Π²ΠΈΠ΄Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… этапов:

  • Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ Π²ΠΈΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹. Π’ Bootstrap 3 Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ Ρ„ΠΎΡ€ΠΌ: Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ (Π±Π΅Π· добавлСния класса), Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ (.form-horizontal) ΠΈ Π² ΠΎΠ΄Π½Ρƒ строку (.form-inline).
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ тСкстовым элСмСнтам управлСния <input>, <textarea>, <select> класс .form-control, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠΌ ΡˆΠΈΡ€ΠΈΠ½Ρƒ, Ρ€Π°Π²Π½ΡƒΡŽ 100% (всю Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта).
  • ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ надпись (<label>) ΠΈ элСмСнт управлСния Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ <div></div> с классом .form-group. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ для элСмСнтов Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ отступы.

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° — это ΠΌΠ°ΠΊΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅Ρ‘ элСмСнты Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠ³Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, Ρ‚.Π΅. ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Данная Ρ„ΠΎΡ€ΠΌΠ° создаётся Π±Π΅Π· добавлСния класса ΠΊ элСмСнту Ρ„ΠΎΡ€ΠΌΡ‹ (<form>). ΠœΠ΅Ρ‚ΠΊΠΈ ΠΈ элСмСнты управлСния Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² Π±Π»ΠΎΠΊΠ΅ с классом .form-group.


<form>
  <div>
    <label for="inputEmail">АдрСс email:</label>
    <input type="email" placeholder="Π’Π²Π΅Π΄ΠΈΡ‚Π΅ email">
  </div>
  <div>
    <label for="inputPassword">ΠŸΠ°Ρ€ΠΎΠ»ΡŒ:</label>
    <input type="password" placeholder="Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ">
  </div>
  <div>
    <label>
      <input type="checkbox"> Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ
    </label>
  </div>
  <button type="submit">Π’ΠΎΠΉΡ‚ΠΈ</button>
</form>

Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° — это Ρ„ΠΎΡ€ΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ надписи ΠΈ элСмСнты управлСния находящиСся Π² ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ (<div>...</div>) Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ строкС.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ создания Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹:

  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ класс .form-horizontal ΠΊ элСмСнту form;
  • ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ элСмСнты Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠ³Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ <div>...</div> ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ класс .form-group
  • ΠšΡ€ΠΎΠΌΠ΅ этого этим элСмСнтам, Ρ‚.Π΅. Ρ‚Π΅ΠΌ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ классов систСмы сСтки Twitter Bootstrap 3;
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ класс .control-label ΠΊ элСмСнтам label.

<form>
  <div>
    <label for="inputEmail">АдрСс email:</label>
    <div>
      <input type="email" placeholder="Π’Π²Π΅Π΄ΠΈΡ‚Π΅ email">
    </div>
  </div>
  <div>
    <label for="inputPassword">ΠŸΠ°Ρ€ΠΎΠ»ΡŒ:</label>
    <div>
      <input type="password" placeholder="Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ">
    </div>
  </div>
  <div>
    <div>
      <div>
        <label><input type="checkbox"> Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ</label>
      </div>
    </div>
  </div>
  <div>
    <div>
      <button type="submit">Π’ΠΎΠΉΡ‚ΠΈ</button>
    </div>
  </div>
</form>


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹, с располоТСниСм элСмСнтов Π² ΠΎΠ΄Π½Ρƒ строку

Для созданиС Ρ„ΠΎΡ€ΠΌΡ‹ с располоТСниСм элСмСнтов Π² ΠΎΠ΄Π½Ρƒ строку, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Bootstrap класс .form-inline ΠΊ элСмСнту <form>. Π’Π°ΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠΊΠΎΠ½ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 768px.


<form>
  <div>
    <label for="inputEmail">Email</label>
    <input type="email" placeholder="Email">
  </div>
  <div>
    <label for="inputPassword">ΠŸΠ°Ρ€ΠΎΠ»ΡŒ</label>
    <input type="password" placeholder="ΠŸΠ°Ρ€ΠΎΠ»ΡŒ">
  </div>
  <div>
    <label><input type="checkbox"> Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ</label>
  </div>
  <button type="submit">Π’ΠΎΠΉΡ‚ΠΈ</button>
</form>

Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ элСмСнт <label> с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ класса .sr-only.


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ статичСских элСмСнтов управлСния Ρ„ΠΎΡ€ΠΌΡ‹

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст рядом с элСмСнтом <label> Π² Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс .form-control-static Π½Π° элСмСнтС <p>.


<form>
  <div>
    <label for="inputEmail">Email</label>
    <div>
      <p>[email protected]</p>
    </div>
  </div>
  <div>
    <label for="inputPassword">ΠŸΠ°Ρ€ΠΎΠ»ΡŒ</label>
    <div>
      <input type="password" placeholder="ΠŸΠ°Ρ€ΠΎΠ»ΡŒ">
    </div>
  </div>
  <div>
    <div>
      <div>
        <label><input type="checkbox"> Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ</label>
      </div>
    </div>
  </div>
  <div>
    <div>
      <button type="submit">Π’ΠΎΠΉΡ‚ΠΈ</button>
    </div>
  </div>
</form>

Π’Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:


ИзмСнСниС высоты элСмСнтов <input> ΠΈ <select>

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ классов Bootstrap .input-lg ΠΈ .input-sm Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ высоту элСмСнтов <input> ΠΈ <select>.


<form>
  <div>
    <div>
      <input type="text" placeholder="Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ">
    </div>
    <div>
      <select>
        <option>Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ - 1</option>
        <option>Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ - 2</option>
      </select>
    </div>
  </div>
  <br />
  <div>
    <div>
      <input type="text" placeholder="Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ">
    </div>
    <div>
      <select>
        <option>Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ - 1</option>
        <option>Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ - 2</option>
      </select>
    </div>
  </div>
  <br />
  <div>
    <div>
      <input type="text" placeholder="МалСнький">
    </div>
    <div>
      <select>
        <option>МалСнький - 1</option>
        <option>МалСнький - 2</option>
      </select>
    </div>
  </div>
</form>

Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:


ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² элСмСнтов <input>, <textarea>, <select> с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСтки Bootstrap 3

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ элСмСнтов управлСния Ρ„ΠΎΡ€ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ задания ΡˆΠΈΡ€ΠΈΠ½Ρ‹, Π² Π²ΠΈΠ΄Π΅ количСства ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ сСтки Twitter Bootstrap. Для этого, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ элСмСнты управлСния Ρ„ΠΎΡ€ΠΌΡ‹ (<input>, <textarea>, <select>) Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ классы сСток Bootstrap 3 прямо Π½Π° Π½ΠΈΡ….


<form>
  <div>
    <div>
      <input type="text">
    </div>
    <div>
      <input type="text">
    </div>
    <div>
      <input type="text">
    </div>
  </div>
  <br />
  <div>
    <div>
      <textarea></textarea>
    </div>
    <div>
      <textarea></textarea>
    </div>
    <div>
      <textarea></textarea>
    </div>
  </div>
  <br />
  <div>
    <div>
      <select>
        <option>Π’Ρ‹Π±ΠΎΡ€</option>
      </select>
    </div>
    <div>
      <select>
        <option>Π’Ρ‹Π±ΠΎΡ€</option>
      </select>
    </div>
    <div>
      <select>
        <option>Π’Ρ‹Π±ΠΎΡ€</option>
      </select>
    </div>
  </div>
</form>

Π’Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:


Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты управлСния Twitter Bootstrap

Bootstrap Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта управлСния <input>

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ элСмСнты управлСния Ρ„ΠΎΡ€ΠΌΡ‹ посрСдством добавлСния тСкста ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ»ΠΈ послС элСмСнта <input>.

Для этого:

  • ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ тСкст ΠΈΠ»ΠΈ ΠΈΠΊΠΎΠ½ΠΊΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π³Π° <span>, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ класс .input-group-addon. А Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ <span> помСститС ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ»ΠΈ послС элСмСнта <input>
  • ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ элСмСнт <span> ΠΈ элСмСнт Π²Π²ΠΎΠ΄Π° <input> Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° <div> ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊ Π½Π΅ΠΌΡƒ класс .input-group

<form>
  <div>
    <span>@</span>
    <input type="text" placeholder="Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ">
  </div>
  <br />
  <div>
    <input type="text">
    <span>.00</span>
  </div>
  <br />
  <div>
    <span>$</span>
    <input type="text">
    <span>.00</span>
  </div>
</form>

Π’Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π’Ρ‹, Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ элСмСнт управлСния <input>, помСстив ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Ρ„Π»Π°ΠΆΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ.


<form>
    <div>
        <div>
          <div>
            <span>
              <input type="checkbox">
            </span>
            <input type="text">
          </div>
        </div>
        <div>
          <div>
            <span>
              <input type="radio">
            </span>
            <input type="text">
          </div>
        </div>
      </div>
</form>

Π’Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

ΠšΡ€ΠΎΠΌΠ΅ этого, Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ элСмСнт управлСния <input>, помСстив ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ ΠΈΠ»ΠΈ послС Π½Π΅Π³ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Кнопки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° <span> ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ класс .input-group-btn вмСсто .input-group-addon.


<form>
  <div>
    <div>
      <div>
        <span>
          <button type="button">Π’ΠΏΠ΅Ρ€Π΅Π΄!</button>
        </span>
        <input type="text">
      </div>
    </div>
    <div>
      <div>
        <input type="text">
        <span>
          <button type="button">Π’ΠΏΠ΅Ρ€Π΅Π΄!</button>
        </span>
      </div>
    </div>
  </div>
</form>

Π’Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

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

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ, с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ мСню.


<form>
  <div>
    <div>
      <div>
        <div>
          <button type="button" data-toggle="dropdown">
            ДСйствиС <span></span>
          </button>
          <ul>
            <li><a href="#">ДСйствиС</a></li>
            <li><a href="#">Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС</a></li>
            <li></li>
            <li><a href="#">ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ссылка</a></li>
          </ul>
        </div>
        <input type="text">
      </div>
    </div>
    <div>
      <div>
        <input type="text">
        <div>
          <button type="button" data-toggle="dropdown">
            ДСйствиС <span></span>
          </button>
          <ul>
            <li><a href="#">ДСйствиС</a></li>
            <li><a href="#">Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС</a></li>
            <li></li>
            <li><a href="#">ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ссылка</a></li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</form>

Π’Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΠΎΠ΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° сСгмСнты

Аналогично, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΠΎΠ΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π½Π° сСгмСнты, Π³Π΄Π΅ ΠΊΠ½ΠΎΠΏΠΊΠ°, с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ списком помСщаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ.


<form>
  <div>
    <div>
      <div>
        <div>
          <button tabindex="-1" type="button">ДСйствиС</button>
          <button tabindex="-1" data-toggle="dropdown" type="button">
            <span></span>
            <span>Toggle Dropdown</span>
          </button>
          <ul> 
            <li><a href="#">ДСйствиС</a></li>
            <li><a href="#">Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС</a></li>
            <li></li>
            <li><a href="#">ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ сслыка</a></li>
          </ul>
        </div>
        <input type="text">
      </div>
    </div>
    <div>
      <div>
        <input type="text">
        <div>
          <button tabindex="-1" type="button">ДСйствиС</button>
          <button tabindex="-1" data-toggle="dropdown" type="button">
            <span></span>
            <span>Toggle Dropdown</span>
          </button>
          <ul>
            <li><a href="#">ДСйствиС</a></li>
            <li><a href="#">Π”Ρ€ΡƒΠ³ΠΎΠ΅ дСйствиС</a></li>
            <li></li>
            <li><a href="#">ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ссылка</a></li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</form>

Π’Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌ Bootstrap

Π€ΠΎΡ€ΠΌΠ° поиска для сайта:


<div>
  <div>
    <!-- Π€ΠΎΡ€ΠΌΠ° Bootstrap, содСрТащая элСмСнт для поиска ΠΏΠΎ сайту -->
    <form role="search">
      <div>
  	    <input type="text" placeholder="">
    	  <span>
    	    <button type="button">
	      	  <i></i>
    	    </button>
	      </span>
      </div>
    </form><!-- ΠšΠΎΠ½Π΅Ρ† Ρ„ΠΎΡ€ΠΌΡ‹ -->
  </div>
</div>

itchief.ru