Бутстрап докумСнтация: Bootstrap. ДокумСнтация Π½Π° русском языкС.

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

ВступлСниС. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Β· Bootstrap v5.1.3

Быстрый старт

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Бутстрап Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅? Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ jsDelivr, Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ CDN с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. НуТна систСма управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ исходники Bootstrap? ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

CSS

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° <link> Π² свой <head> ΠΏΠ΅Ρ€Π΅Π΄ всСми Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ стилСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ наш CSS.

<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

JS

МногиС ΠΈΠ· Π½Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ JavaScript. Π’ частности, для Π½ΠΈΡ… Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ наши собствСнныС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ JavaScript ΠΈ Popper. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π΅Π³ΠΎΠ² <script> Π² ΠΊΠΎΠ½Ρ†Π΅ страницы, прямо ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Ρ‚Π΅Π³ΠΎΠΌ </body>, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ….

ΠŸΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Bootstrap JavaScript Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ… Π½Π°ΡˆΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Оба Ρ„Π°ΠΉΠ»Π°, ΠΈ bootstrap.bundle.js ΠΈ bootstrap.bundle.min.js Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Popper для Π½Π°ΡˆΠΈΡ… Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… подсказок ΠΈ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Bootstrap, смотритС Ρ€Π°Π·Π΄Π΅Π» содСрТаниС.

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
РаздСльноС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ скрипты, сначала Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Popper (Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки ΠΈΠ»ΠΈ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π°), Π° Π·Π°Ρ‚Π΅ΠΌ наши ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ JavaScript.

<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-W8fXfP3gkOKtndU4JGtKDvXbO53Wy8SZCQHczT5FMiiqmQfUpWbYdTil/SxwZgAN" crossorigin="anonymous"></script>
<script src="https://cdn. jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-skAcpIdS7UcVUC05LJ9Dxay8AXcDYfBJqt1CJ85S/CFujBsIzCIv+l9liuYLaMQ/" crossorigin="anonymous"></script>
ΠœΠΎΠ΄ΡƒΠ»ΠΈ

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ <script type="module">, смотритС Ρ€Π°Π·Π΄Π΅Π» ИспользованиС Bootstrap Π² качСствС модуля.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ явно Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ наши JavaScript ΠΈ Popper.js? НаТмитС ссылку Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹Β» Π½ΠΈΠΆΠ΅. Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Β«ΠΊΠΎΡ€Π΅Π½Π½ΡƒΡŽΒ» структуру страницы, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ наши ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ JavaScript
  • Alerts (УвСдомлСния) для отклонСния
  • Buttons (Кнопки) для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ состояний ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Ρ„Π»Π°ΠΆΠΊΠ°/Ρ€Π°Π΄ΠΈΠΎ
  • Carousel (ΠšΠ°Ρ€ΡƒΡΠ΅Π»ΡŒ) для любого повСдСния слайдов, элСмСнтов управлСния ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²
  • Collapse (Π‘Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅) для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ видимости содСрТимого
  • Dropdowns (Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки) для отобраТСния ΠΈ позиционирования (Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся Popper)
  • Modals (ΠœΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΊΠ½Π°) для отобраТСния, позиционирования ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ
  • Navbar (ПанСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ) для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ нашСго ΠΏΠ»Π°Π³ΠΈΠ½Π° Π‘Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ повСдСния
  • Offcanvases (ВнСхолста) для отобраТСния, позиционирования ΠΈ повСдСния ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ
  • Toasts (Восты) для ΠΏΠΎΠΊΠ°Π·Π° ΠΈ отклонСния
  • Tooltips (Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки) ΠΈ popovers (Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π°) для отобраТСния ΠΈ позиционирования (Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся Popper)
  • Scrollspy (ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ) для повСдСния ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ

Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²Ρ‹ΠΉ шаблон

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваши страницы свСрстаны Π² соотвСтствии с послСдними стандартами Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ использованиС HTML5 ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°Ρ‚Π΅Π³Π° области просмотра для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Β«ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ³ΠΎΒ» повСдСния страниц. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ваши страницы:

<!doctype html>
<html lang="ru">
  <head>
    <!-- ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚Π°Ρ‚Π΅Π³ΠΈ -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

    <title>ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€!</title>
  </head>
  <body>
    <h2>ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€!</h2>

    <!-- Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ JavaScript; Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ…! -->

    <!-- Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1: Bootstrap Π² связкС с Popper -->
    <script src="https://cdn.
jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script> <!-- Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2: Bootstrap JS ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Popper <script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh41eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script> --> </body> </html>

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ…, посСтитС Ρ€Π°Π·Π΄Π΅Π» БистСма сСток ΠΈΠ»ΠΈ наши ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для создания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² вашСго сайта.

Π’Π°ΠΆΠ½Ρ‹Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹

Bootstrap Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ стили ΠΈ настройки, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌ; всС эти стили ΠΈ настройки ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»ΠΎ с ΠΈ Β«Π·Π°Ρ‚ΠΎΡ‡Π΅Π½Ρ‹Β» ΠΏΠΎΠ΄ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ кроссбраузСрных стилСй.

Π’ΠΈΠΏ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

Bootstrap Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования doctype HTML5. Π‘Π΅Π· Π½Π΅Π³ΠΎ Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со стилями, Π½ΠΎ Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… сбоСв.

<!doctype html>
<html lang="ru">
  ...
</html>

ΠœΠ΅Ρ‚Π°-Ρ‚Π΅Π³ΠΈ для Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вёрстки

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

Π² <head>:

<meta name="viewport" content="width=device-width, initial-scale=1">

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ этого Π² дСйствии Π² стартовом шаблонС.

Π Π°Π·ΠΌΠ΅Ρ€ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты элСмСнта (Box-sizing)

Для большСй простоты ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² CSS ΠΌΡ‹ измСняСм глобальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ box-sizing с content-box Π½Π° border-box. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ padding Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ элСмСнта; ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ для сторонних ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Google Maps ΠΈΠ»ΠΈ поисковой Π΄Π²ΠΈΠΆΠΎΠΊ Google.

Π’ Ρ‚ΠΎΠΌ Ρ€Π΅Π΄ΠΊΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ понадобится ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊ:

.selector-for-some-widget {
  box-sizing: content-box;
}

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ всС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ элСмСнты, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ сгСнСрированный ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ::before ΠΈ

::after, Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° box-sizing для этого .selector-for-some-widget.

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π½Π° CSS Tricks.

Β«Π Π΅Π±ΡƒΡ‚Β» (новая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° CSS, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ классов, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Β«ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Β»)

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

ΠžΡΡ‚Π°Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π² курсС послСдних новостСй Bootstrap ΠΈ Π²Π»ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ Π² сообщСство Bootstrap с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих рСсурсов:

  • Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠ³ Bootstrap.
  • ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅ Slack.
  • ΠžΠ±Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Bootstrappers Π² IRC. На сСрвСрС irc.freenode.net, Π² ΠΊΠ°Π½Π°Π»Π΅ ##bootstrap.
  • Π‘ΠΏΡ€Π°Π²ΠΊΡƒ ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° сайтС Stack Overflow (с Ρ‚Π΅Π³ΠΎΠΌ
    bootstrap-5
    ).
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово bootstrap Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Bootstrap ΠΏΡ€ΠΈ распространСнии Ρ‡Π΅Ρ€Π΅Π· npm ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ доставки для максимальной узнаваСмости.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ @getbootstrap on Twitter, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° послСдними слухами ΠΈ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠΌΠΈ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠ»ΠΈΠΏΠ°ΠΌΠΈ.

ВступлСниС. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Β· Bootstrap v5.2.3

Быстрый старт

НачнитС с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… CSS ΠΈ JavaScript Bootstrap Ρ‡Π΅Ρ€Π΅Π· CDN Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ шагов ΠΏΠΎ сборкС. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ это Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой дСмонстрации Bootstrap CodePen.


  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» index.html Π² ΠΊΠΎΡ€Π½Π΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π΅Π³ <meta name="viewport> для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ³ΠΎ повСдСния Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах.

    <!doctype html>
    <html lang="ru">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Π”Π΅ΠΌΠΎ Bootstrap</title>
      </head>
      <body>
        <h2>ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€!</h2>
      </body>
    </html>
    
  2. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ CSS ΠΈ JS Bootstrap. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Ρ‚Π΅Π³ <link> Π² <head> для нашСго CSS ΠΈ Ρ‚Π΅Π³ <script> для нашСго ΠΏΠ°ΠΊΠ΅Ρ‚Π° JavaScript (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Popper для позиционирования Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ списков, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ сообщСния ΠΈ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки) ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ </body>. Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Π½Π°ΡˆΠΈΡ… ссылках CDN.

    <!doctype html>
    <html lang="ru">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Bootstrap demo</title>
        <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
      </head>
      <body>
        <h2>Hello, world!</h2>
        <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h555rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
      </body>
    </html>
    

    Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Popper ΠΈ наш JS ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Если Π²Ρ‹ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки, ΡΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ нСсколько ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Popper.

    <script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V" crossorigin="anonymous"></script>
    
  3. ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€! ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ страницу Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ страницу с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ сборку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Bootstrap, создав свой собствСнный ΠΌΠ°ΠΊΠ΅Ρ‚, Π΄ΠΎΠ±Π°Π²ΠΈΠ² дСсятки ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ наши ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

Π’ качСствС справки, Π²ΠΎΡ‚ наши основныС ссылки CDN.

ОписаниС URL-адрСс
CSS https://cdn.jsdelivr.net/npm/bootstrap@5. 2.3/dist/css/bootstrap.min.css
JS https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CDN для получСния любой ΠΈΠ· Π½Π°ΡˆΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сборок, пСрСчислСнных Π½Π° страницС Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги

  • Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΆΠ½Ρ‹Ρ… Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… настройках срСды, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Bootstrap.

  • ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² Bootstrap, Π² нашСм Ρ€Π°Π·Π΄Π΅Π»Π΅ содСрТания ΠΈ спискС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся JavaScript Π½ΠΈΠΆΠ΅.

  • НуТно Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС энСргии? РассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Bootstrap, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² исходныС Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

  • Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Bootstrap Π² качСствС модуля с <script type="module">? ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ использованиС Bootstrap ΠΊΠ°ΠΊ модуля.

JS ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ явно Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ нашСго JavaScript ΠΈ Popper? Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ссылку Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹Β» Π½ΠΈΠΆΠ΅. Если Π²Ρ‹ совсСм Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² ΠΎΠ±Ρ‰Π΅ΠΉ структурС страницы, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ шаблона страницы.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ JavaScript
  • УвСдомлСния (Alerts) для ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ
  • Кнопки (Buttons) для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ состояний ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ„Π»Π°ΠΆΠΊΠ°/Ρ€Π°Π΄ΠΈΠΎ
  • ΠšΠ°Ρ€ΡƒΡΠ΅Π»ΡŒ (Carousel) для всСх Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² слайдов, элСмСнтов управлСния ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²
  • Коллапс (Collapse) для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ видимости содСрТимого
  • Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки (Dropdowns) для отобраТСния ΠΈ позиционирования (Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся Popper)
  • ΠœΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΊΠ½Π° (Modals) для отобраТСния, позиционирования ΠΈ повСдСния ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ
  • ПанСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ (Navbar) для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π°ΡˆΠΈΡ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Collapse ΠΈ Offcanvas для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ повСдСния
  • Навигация (Navs) с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ Tab для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ содСрТимого
  • Offcanvases для отобраТСния, позиционирования ΠΈ повСдСния ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ
  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ (Scrollspy) для повСдСния ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ
  • Восты (Toasts) для отобраТСния ΠΈ отклонСния
  • Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки (Tooltips) ΠΈ Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π° (Popovers) для отобраТСния ΠΈ позиционирования (Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся Popper)

Π’Π°ΠΆΠ½Ρ‹Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Bootstrap ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… стилСй ΠΈ настроСк, ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ кросс-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Ρ… стилСй. Π”Π°Π²Π°ΠΉΡ‚Π΅ погрузимся.

Π’ΠΈΠΏ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

Bootstrap Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Ρ‚ΠΈΠΏΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° HTML5. Π‘Π΅Π· Π½Π΅Π³ΠΎ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²Ρ‹ΠΉ ΠΈ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ.

<!doctype html>
<html lang="ru">
  ...
</html>

ΠœΠ΅Ρ‚Π°-Ρ‚Π΅Π³ΠΈ для Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вёрстки

Bootstrap Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ сначала для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, стратСгия, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ сначала ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ΄ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Π΄ΠΈΠ°-запросы CSS. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈ сСнсорноС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для всСх устройств, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΌΠ΅Ρ‚Π°Ρ‚Π΅Π³ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° просмотра Π² свой <head>.

<meta name="viewport" content="width=device-width, initial-scale=1">

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ этого Π² дСйствии Π² быстром стартС.

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты элСмСнта (Box-sizing)

Для Π±ΠΎΠ»Π΅Π΅ простого опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² CSS ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ глобальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ box-sizing с content-box Π½Π° border-box. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ padding Π½Π΅ повлияСт Π½Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ элСмСнта, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ сторонними ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Google Maps ΠΈ Google Custom Search Engine.

Π’ Ρ€Π΅Π΄ΠΊΠΈΡ… случаях Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ:

.selector-for-some-widget {
  box-sizing: content-box;
}

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ элСмСнты, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ сгСнСрированный ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ::before ΠΈ ::after, Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ box-sizing для этого .selector-for-some-widget.

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Π±Π»ΠΎΡ‡Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… Π² CSS Tricks.

Reboot (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° CSS, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ классов, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Β«ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Β»)

Для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ кросс-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Reboot для исправлСния нСсоотвСтствий ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ ΠΈ устройствами, обСспСчивая ΠΏΡ€ΠΈ этом нСсколько Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сброс ΠΎΠ±Ρ‰ΠΈΡ… элСмСнтов HTML.

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π² курсС развития Bootstrap ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ сообщСству с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… рСсурсов.

  • ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ΡΡŒ Π½Π° ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠ³ Bootstrap.
  • ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅ Slack.
  • ΠžΠ±Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π² IRC. На сСрвСрС irc.libera.chat, Π² ΠΊΠ°Π½Π°Π»Π΅ #bootstrap.
  • Π‘ΠΏΡ€Π°Π²ΠΊΡƒ ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Stack Overflow (с Ρ‚Π΅Π³ΠΎΠΌ bootstrap-5).
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово bootstrap Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Bootstrap ΠΏΡ€ΠΈ распространСнии Ρ‡Π΅Ρ€Π΅Π· npm ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ доставки для максимальная обнаруТиваСмости.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° @getbootstrap Π² Twitter, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² курсС послСдних сплСтСн ΠΈ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΡ… ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠΏΠΎΠ².

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Β· Bootstrap

  • ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированный Bootstrap
  • Ρ„Π°ΠΉΠ»Ρ‹ CSS
  • JS-Ρ„Π°ΠΉΠ»Ρ‹
  • Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Π£Π·Π½Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² Bootstrap, Π² Ρ‚ΠΎΠΌ числС наши Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированного ΠΈ исходного ΠΊΠΎΠ΄Π°. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ для ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Bootstrap JavaScript трСбуСтся jQuery.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированный Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ

ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΠΆΠ°Ρ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

 бутстрап/
β”œβ”€β”€ css/
β”‚ β”œβ”€β”€ bootstrap-grid.css
β”‚ β”œβ”€β”€ bootstrap-grid.css.map
β”‚ β”œβ”€β”€ bootstrap-grid.min.css
β”‚ β”œβ”€β”€ bootstrap-grid.min.css.map
β”‚ β”œβ”€β”€ bootstrap-reboot.css
β”‚ β”œβ”€β”€ bootstrap-reboot.css.map
β”‚ β”œβ”€β”€ bootstrap-reboot.min.css
β”‚ β”œβ”€β”€ bootstrap-reboot.min.css.map
β”‚ β”œβ”€β”€ bootstrap.css
β”‚ β”œβ”€β”€ bootstrap.css.map
β”‚ β”œβ”€β”€ bootstrap.min.css
β”‚ └── bootstrap.min.css.map
└── js/
    β”œβ”€β”€ bootstrap.bundle.js
    β”œβ”€β”€ bootstrap.bundle.js.map
    β”œβ”€β”€ bootstrap.bundle.min.js
    β”œβ”€β”€ bootstrap.bundle.min.js.map
    β”œβ”€β”€ bootstrap.js
    β”œβ”€β”€ bootstrap.js.map
    β”œβ”€β”€ bootstrap.min.js
    └── bootstrap.min.js.map 

Π­Ρ‚ΠΎ самая основная Ρ„ΠΎΡ€ΠΌΠ° Bootstrap: ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированныС Ρ„Π°ΠΉΠ»Ρ‹ для быстрого использования практичСски Π² любом Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. ΠœΡ‹ прСдоставляСм скомпилированныС CSS ΠΈ JS ( bootstrap. * ), Π° Ρ‚Π°ΠΊΠΆΠ΅ скомпилированныС ΠΈ ΠΌΠΈΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ CSS ΠΈ JS ( bootstrap.min.* ). исходныС ΠΊΠ°Ρ€Ρ‚Ρ‹ ( bootstrap.*.map ) доступны для использования с инструмСнтами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ². БвязанныС Ρ„Π°ΠΉΠ»Ρ‹ JS ( bootstrap.bundle.js ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½Ρ‹ΠΉ bootstrap.bundle.min.js ) Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Popper, Π½ΠΎ Π½Π΅ jQuery.

CSS-Ρ„Π°ΠΉΠ»Ρ‹

Bootstrap Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя нСсколько ΠΎΠΏΡ†ΠΈΠΉ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ»ΠΈ всСх Π½Π°ΡˆΠΈΡ… скомпилированных CSS.

Π€Π°ΠΉΠ»Ρ‹ CSS ΠœΠ°ΠΊΠ΅Ρ‚ Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠšΠΎΠΌΠΌΡƒΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ услуги

bootstrap.css

bootstrap.min.css

Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅

bootstrap-grid. css

бутстрап-сСтка.min.css

Волько систСма сСтки НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Волько Π³ΠΈΠ±ΠΊΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹

бутстрап-ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°.css

бутстрап-ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°.min.css

НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Волько ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

JS-Ρ„Π°ΠΉΠ»Ρ‹

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΈ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ части ΠΈΠ»ΠΈ всСго нашСго скомпилированного ΠΊΠΎΠ΄Π° JavaScript.

JS-Ρ„Π°ΠΉΠ»Ρ‹ ΠŸΠΎΠΏΠΏΠ΅Ρ€ jQuery

bootstrap. bundle.js

bootstrap.bundle.min.js

Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

bootstrap.js

bootstrap.min.js

НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° исходного ΠΊΠΎΠ΄Π° Bootstrap Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированныС рСсурсы CSS ΠΈ JavaScript, Π° Ρ‚Π°ΠΊΠΆΠ΅ исходный ΠΊΠΎΠ΄ Sass, JavaScript ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Π’ частности, ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅:

 бутстрап/
β”œβ”€β”€ расст/
β”‚ β”œβ”€β”€ css/
β”‚ └── js/
β”œβ”€β”€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹/
β”‚ └── ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹/
β”œβ”€β”€ js/
└── scss/ 

scss/ ΠΈ js/ ΡΠ²Π»ΡΡŽΡ‚ΡΡ исходным ΠΊΠΎΠ΄ΠΎΠΌ для нашСго CSS ΠΈ JavaScript. Папка dist/ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя всС, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированном Ρ€Π°Π·Π΄Π΅Π»Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹ΡˆΠ΅. Папка docs/ содСрТит исходный ΠΊΠΎΠ΄ нашСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²/ использования Bootstrap. Помимо этого, любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

JavaScript Β· Bootstrap

ΠžΠΆΠΈΠ²ΠΈΡ‚Π΅ Bootstrap с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°ΡˆΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ JavaScript, созданных Π½Π° основС jQuery. Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ API ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ составной

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹

ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Bootstrap js/dist/*.js ) ΠΈΠ»ΠΈ всС сразу, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ bootstrap.js ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½Ρ‹ΠΉ bootstrap.min.js (Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΎΠ±Π°).

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ сборщик (Webpack, Rollup…), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ /js/dist/*.js , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ UMD.

Зависимости

НСкоторыС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ CSS зависят ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Если Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ этих зависимостСй Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ всС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ зависят ΠΎΡ‚ jQuery (это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ jQuery Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ package.json , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ вСрсии jQuery ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

Наши Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ списки, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΈ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки Ρ‚Π°ΠΊΠΆΠ΅ зависят ΠΎΡ‚ Popper.js.

Атрибуты Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Bootstrap ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· HTML с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (наш ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ JavaScript). Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ подсказку ΠΈ модальноС ΠΎΠΊΠ½ΠΎ с ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ).

Однако Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ API Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚Π΅ привязку всСх событий Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ с пространством ΠΈΠΌΠ΅Π½ 9. 0021 data-api Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

 $(document).off('.data-api') 

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Π°Ρ€Π³Π΅Ρ‚ΠΈΠ½Π³ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, просто Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ имя ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ модуля Π² качСствС пространства ΠΈΠΌΠ΅Π½ вмСстС с пространством ΠΈΠΌΠ΅Π½ data-api, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 $(document).off('.alert.data-api') 
Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сСлСкторов

ΠŸΡ€ΠΈ использовании ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСлСкторов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Ρ‡Π΅Ρ€Π΅Π· jQuery.

Бобытия

Bootstrap прСдоставляСт настраиваСмыС события для ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… дСйствий Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΠ½Ρ„ΠΈΠ½ΠΈΡ‚ΠΈΠ²Π° ΠΈ причастия ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π³Π΄Π΅ ΠΈΠ½Ρ„ΠΈΠ½ΠΈΡ‚ΠΈΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ) запускаСтся Π² Π½Π°Ρ‡Π°Π»Π΅ события, Π° Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ° причастия ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Π°Π½ ) запускаСтся ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ дСйствия.

ВсС ΠΈΠ½Ρ„ΠΈΠ½ΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ события ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ preventDefault() . Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствия Π΄ΠΎ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π°. Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ false ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° событий Ρ‚Π°ΠΊΠΆΠ΅ автоматичСски Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ preventDefault() .

 $('#myModal').on('show.bs.modal', функция (Π΅) {
  if (!data) return e.preventDefault() // останавливаСт ΠΏΠΎΠΊΠ°Π· модального ΠΎΠΊΠ½Π°
}) 

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ API

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ считаСм, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Bootstrap ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· API JavaScript. ВсС общСдоступныС API-интСрфСйсы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚.

 $('.btn.danger').button('toggle').addClass('fat') 

ВсС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², строку, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΈΠ»ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ (Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Π³ΠΈΠ½ с ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ):

 $('#myModal').modal() // ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
$('#myModal').modal({ keyboard: false }) // инициализируСтся Π±Π΅Π· ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹
$('#myModal').modal('show') // ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΡˆΠΎΡƒ 

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт свой Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ конструктор Π² свойствС Constructor : $. fn.popover.Constructor . Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ экзСмпляр ΠΏΠ»Π°Π³ΠΈΠ½Π°, ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡ‚Π΅ Π΅Π³ΠΎ нСпосрСдствСнно ΠΈΠ· элСмСнта: $('[rel="popover"]').data('popover') .

АсинхронныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

ВсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ API ΡΠ²Π»ΡΡŽΡ‚ΡΡ асинхронными ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ сторонС послС Π½Π°Ρ‡Π°Π»Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Π½ΠΎ Π΄ΠΎ Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ .

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ событиС.

 $('#myCollapse').on('show.bs.collapse', function (e) {
  // ДСйствиС, выполняСмоС послС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ сворачиваСмой области
}) 

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ .

 $('#myCarousel').on('slid.bs.carousel', function (e) {
  $('#myCarousel').carousel('2') // ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ ΠΊ слайду 2, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ слайду 1
})
$('#myCarousel').carousel('1') // НачнСт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ слайду 1 ΠΈ вСрнСтся ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ сторонС
$('#myCarousel'). carousel('2') // !! Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½, Ρ‚.ΠΊ. ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° слайд 1 Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½!! 

Настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ модуля, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Constructor.Default ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ модуля:

 $.fn.modal.Constructor.Default.keyboard = false // измСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Β«ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Β» модального ΠΏΠ»Π°Π³ΠΈΠ½Π° Π½Π° false 

НСт ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°

Иногда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Bootstrap с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Π’ этих ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ… ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ пространств ΠΈΠΌΠ΅Π½. Если это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ .noConflict для ΠΏΠ»Π°Π³ΠΈΠ½Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

 var bootstrapButton = $.fn.button.noConflict() // Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ $.fn.button ΠΊ Ρ€Π°Π½Π΅Π΅ присвоСнному Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ
$.fn.bootstrapBtn = bootstrapButton // Π΄Π°Ρ‚ΡŒ $().bootstrapBtn Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Bootstrap 

НомСра вСрсий

Доступ ΠΊ вСрсии ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° Bootstrap jQuery ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· свойство VERSION конструктора ΠΏΠ»Π°Π³ΠΈΠ½Π°. НапримСр, для ΠΏΠ»Π°Π³ΠΈΠ½Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки:

 $.fn.tooltip.Constructor.VERSION // => "4.1.3" 

Никаких ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ JavaScript

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ Bootstrap Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ изящно ΠΎΡ‚ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° JavaScript ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½. Если вас Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ Π² этом случаС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Bootstrap ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ JavaScript , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Prototype ΠΈΠ»ΠΈ jQuery UI. НСсмотря Π½Π° .noConflict ΠΈ события, связанныС с пространством ΠΈΠΌΠ΅Π½, ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π”ΠΎ

ВсС Ρ„Π°ΠΉΠ»Ρ‹ JavaScript Bootstrap зависят ΠΎΡ‚ util.js ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ JavaScript. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ скомпилированный (ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ) bootstrap.

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

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