ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ bootstrap 4 – Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Β· Bootstrap. ВСрсия v4.0.0

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

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Β· Bootstrap. ВСрсия v4.0.0

Π£Π·Π½Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² Bootstrap, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ наши ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ исходныС ΠΊΠΎΠ΄Ρ‹. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ для ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² JavaScript Bootstrap’Ρƒ трСбуСтся jQuery.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Bootstrap

Π‘Ρ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ скачанного Π°Ρ€Ρ…ΠΈΠ²Π° BS4 Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ:

bootstrap/
β”œβ”€β”€ css/
β”‚   β”œβ”€β”€ bootstrap.css
β”‚   β”œβ”€β”€ bootstrap.css.map
β”‚   β”œβ”€β”€ bootstrap.min.css
β”‚   β”œβ”€β”€ bootstrap.min.css.map
β”‚   β”œβ”€β”€ 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
└── js/
    β”œβ”€β”€ bootstrap.bundle.js
    β”œβ”€β”€ bootstrap.bundle.min.js
    β”œβ”€β”€ bootstrap.js
    └── bootstrap.min.js

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

ΠšΠΎΠ΄ΠΎΠ²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π΄Π°ΡŽΡ‚ нСзависимый ΠΎΡ‚ языка способ ΠΏΠΎΠΊΠ°Π·Π° соотвСтствия Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ исходных ΠΊΠΎΠ΄ΠΎΠ² (sources), написанных Π²Π°ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Π€Π°ΠΉΠ»Ρ‹ Π‘SS

Bootstrap Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ всСх Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… CSS.

CSS Ρ„Π°ΠΉΠ»Ρ‹ Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹

bootstrap.css

bootstrap.min.css

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹

bootstrap-grid.css

bootstrap-grid.min.css

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

bootstrap-reboot.css

bootstrap-reboot.min.css

НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Волько Reboot НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹

Π€Π°ΠΉΠ»Ρ‹ JS

Аналогично ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ всСх ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² JavaScript.

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

bootstrap.bundle.js

bootstrap.bundle.min.js

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ НС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹

bootstrap.js

bootstrap.min.js

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

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

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° исходного ΠΊΠΎΠ΄Π° Bootstrap Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚, наряду с исходниками Sass, CSS ΠΈ JS, ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ рСсурсов CSS ΠΈ JS.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ рСсурсов (asset) ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… случаях:

  • ΠŸΡ€ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, рСсурсы ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ содСрТатся Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ΄.
  • ΠŸΡ€ΠΈ использовании рСсурсов Π·Π° ΠΊΠΎΡ€Π½Π΅ΠΌ Π²Π΅Π±-сСрвСра.
  • Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ рСсурсов нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ. НапримСр, сТатия CSS ΠΈ JavaScript.
  • ΠŸΡ€ΠΈ использовании ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ рСсурса мноТСством ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ (для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ²).

Если Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ, сюда Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

bootstrap/
β”œβ”€β”€ dist/
β”‚   β”œβ”€β”€ css/
β”‚   └── js/
β”œβ”€β”€ docs/
β”‚   └── examples/
β”œβ”€β”€ js/
└── scss/

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

bootstrap-4.ru

JavaScript. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Β· Bootstrap. ВСрсия v4.0.0

ЗапуститС Bootstrap с нашими Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ JavaScript построСнными Π½Π° jQuery. Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ»Π°Π³ΠΈΠ½Π΅, Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… API-интСрфСйсах ΠΈ Ρ‚.ΠΏ.

Π˜Π½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ (Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ *.js) ΠΈΠ»ΠΈ всС сразу – с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ bootstrap.js ΠΈΠ»ΠΈ Β«ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎΒ» bootstrap.min.js (Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΎΠ±Π° сразу).

Зависимости

НСкоторыС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ CSS зависят ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ сущСствованиС зависимостСй Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ зависят ΠΎΡ‚ jQuery (Ρ‚.Π΅. Π² Ρ„Π°ΠΉΠ»Π΅ HTML jQuery Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ). ЗаглянитС сюда

bower.json для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ вСрсиям jQuery.

Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки (ΠΏΠΎ навСдСнию) ΠΈ Β«Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π°Β» (ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ ΠΌΡ‹ΡˆΠΈ) зависят ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Popper.js.

Π”Π°Ρ‚Π°-Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹

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

HTML5 спроСктирован с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ассоциированных с ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ элСмСнтом, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния. data-* attributes ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° стандартных, сСмантичСских элСмСнтах HTML, Π½Π΅ загрязняя имя класса.

Однако ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эту ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ. Для Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ API Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, Β«ΠΎΡ‚ΠΊΡ€Π΅ΠΏΠΈΡ‚Π΅Β» всС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π² пространствС ΠΈΠΌΠ΅Π½ data-api:

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

Или, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ, просто ΠΏΡ€ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ пространство ΠΈΠΌΠ΅Π½, наряду с пространством ΠΈΠΌΠ΅Π½ data-api:

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

Бобытия

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

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

$('#myModal').on('show.bs.modal', function (e) {
  if (!data) return e.preventDefault() // stops modal from being shown
})

АлгоритмичСскоС API

ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Bootstrap прямиком Ρ‡Π΅Ρ€Π΅Π· JS API. ВсС свободно распространяСмыС API – это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Β«Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²Β», Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ дСйствиС.

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

ВсСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ слСдуСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ρ‚.Π΅. строку, которая Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΈΠ»ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ (Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ дСйствиС ΠΏΠ»Π°Π³ΠΈΠ½Π°, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).

$('#myModal').modal()                      // initialized with defaults
$('#myModal').modal({ keyboard: false })   // initialized with no keyboard
$('#myModal').modal('show')                // initializes and invokes show immediately

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

АсинхронныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Β«ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²Β»

ВсС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ алгоритмичСских API асинхронны ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Β«ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Β» Π½Π°Ρ‡Π°Ρ‚ ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Β«ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Β» Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½.

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

$('#myCollapse').on('shown.bs.collapse', function (e) {
  // Action to execute once the collapsible area is expanded
})

Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π° динамичСском, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½.

$('#myCarousel').on('slid.bs.carousel', function (e) {
  $('#myCarousel').carousel('2') // Will slide to the slide 2 as soon as the transition to slide 1 is finished
})

$('#myCarousel').carousel('1') // Will start sliding to the slide 1 and returns to the caller
$('#myCarousel').carousel('2') // !! Will be ignored, as the transition to the slide 1 is not finished !!

Установки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… для ΠΏΠ»Π°Π³ΠΈΠ½Π°, измСняя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½Π° Constructor.Default:

$.fn.modal.Constructor.Default.keyboard = false // changes default for the modal plugin's `keyboard` option to false

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹

Иногда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ BS с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ UI – Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ. Π’ΠΎΠ³Π΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² пространствах ΠΈΠΌΠ΅Π½. Π’ этом случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ .noConflict Π½Π° ΠΏΠ»Π°Π³ΠΈΠ½Π΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ.

var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
$.fn.bootstrapBtn = bootstrapButton            // give $().bootstrapBtn the Bootstrap functionality

ВСрсии

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

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

Π’ BS4 Π½Π΅Ρ‚ Ρ‚.Π½. fallback’a (Ρ‚.Π΅. Β«Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ…Β» стилСй для случая «глобальной ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈΒ» вСрстки Π½Π° старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…), ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ JS

Π‘Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС сСйчас Ρ€ΠΈΡΡƒΡŽΡ‚ скруглСнныС края Ρƒ элСмСнтов:

#roundbox {
  -webkit-border-radius: 5px;  /* Safari */
  -moz-border-radius: 5px;    /* Firefox */
  -o-border-radius: 5px;     /* Opera */ 
  border-radius: 5px;  }

Π’ случаС, Ссли Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ CSS3, ΠΎΠ½ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ просто ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ всСй Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ отобразится Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ элСмСнта — это ΠΈ Π΅ΡΡ‚ΡŒ fallback (рСзСрвная) страховка.

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ Bootstrap частично Π½Π΅ смогут Β«ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΒ» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго сайта Π² соотвСтствии с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ отобраТСния старого Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Ссли ΡŽΠ·Π΅Ρ€ Π·Π°ΠΉΠ΄Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ с Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ, ΠΈΠ»ΠΈ Π² случаС «уничтоТСния» ΠΈΠ»ΠΈ «зависания» части ΠΊΠΎΠ΄Π° Ρ‚.Π΅. Π½Π° старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… BS4 ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли Ρ‚Π°ΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ JS. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΡŽΠ·Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ тэг <noscript> для пояснСний ΠΎ ΠΏΠ΅Ρ€Π΅-Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ JS.

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

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ BS4 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сторонниС JS Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Prototype ΠΈΠ»ΠΈ UI-jQuery. НСсмотря Π½Π° использованиС .noConflict ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ компиляции.

Util

Π’Π΅ΡΡŒ JS Π² Bootstrap зависит ΠΎΡ‚ util.js, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ срСди ΠΏΡ€ΠΎΡ‡ΠΈΡ… JS-Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΡ€ΠΎΠΌΠ΅ случаСв, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Β«ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½Ρ‹ΠΌΒ» bootstrap.js – ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² этом случаС ΠΎΠ½ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½.

util.js содСрТит ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ справочник для событий transitionEnd ΠΈ эмулятор Β«ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²Β» CSS. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сущСствования ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

bootstrap-4.ru

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ сборки. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Β· Bootstrap. ВСрсия v4.0.0

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ скрипты npm для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ нашСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, компиляции исходного ΠΊΠΎΠ΄Π°, запуска тСстов ΠΈ Ρ‚.ΠΏ.

Bootstrap Π² своСй автоматичСской систСмС сборки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ скрипты NPM. package.json содСрТит ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с NPM, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ, тСсты ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅.

Для запуска автоматичСской систСмы сборки ΠΈ запуска нашСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ локально, Π²Π°ΠΌ понадобится копия исходников Bootstrap ΠΈ Node:

  1. УстановитС Node, для управлСния зависимостями BS.
  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ /bootstrap ΠΈ запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ npm install для установки Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… зависимостСй, пСрСчислСнных Π² package.json.
  3. УстановитС Ruby, Bundler (gem install bundler) ΠΈ запуститС bundle install. Π­Ρ‚ΠΎ установит зависимости Ruby, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Jekyll, ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹.
    • Π’ Windows: Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π³Π°ΠΉΠ΄ для установки ΠΈ запуска Jekyll.

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ способны Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² CMD Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ‚Π°ΠΌ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ.

ИспользованиС скриптов NPM

Π’ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ CMD для ΠΏΠ°ΠΊΠ΅Ρ‚Π° package.json:

Имя ОписаниС
npm run dist Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΏΠ°ΠΏΠΊΡƒ /dist, с ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Sass, Autoprefixer, ΠΈ UglifyJS.
npm test Для запуска тСстов npm test локально ΠΈ компиляции CSS ΠΈ JS Π² ΠΏΠ°ΠΏΠΊΡƒ /dist.
npm run docs Π‘ΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚ ΠΈ тСстируСт CSS, JS ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ для прилоТСния ассСты (Ρ„Π°ΠΉΠ»Ρ‹/ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния, Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ» со стилями для сайта), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ запускС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ локально ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ npm run docs-serve.

АфтопрСфиксСр

Bootstrap ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ АфтопрСфиксСр (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ участвуСт Π² процСссС автоматичСской сборки) для автоматичСского добавлСния Β«Π²Π΅Π½Π΄ΠΎΡ€Π½Ρ‹Ρ… прСфиксов» Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свойства CSS Π²ΠΎ врСмя процСсса сборки. Π­Ρ‚ΠΎ сбСрСгаСт нашС врСмя, позволяя ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ куски ΠΊΠΎΠ΄Π° CSS ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΈ отмСняя Π½ΡƒΠΆΠ΄Ρƒ Π² Π²Π΅Π½Π΄ΠΎΡ€Π½Ρ‹Ρ… миксинах, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ BS3.

Бписок Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° автопрСфиксСра, здСсь: /package.json.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ докумСнтация

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

  1. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ «Установку инструмСнтария» (Π²Ρ‹ΡˆΠ΅) для инструкций ΠΏΠΎ установкС Jekyll (Β«ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΒ» сайтов) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… зависимостСй Ruby ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ bundle install.
  2. ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ npm run docs-serve Π² CMD ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /bootstrap.
  3. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ http://localhost:9001 Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΏΡ€ΠΎ Jekyll здСсь.

ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π±Π°Π³ΠΎΠ²

Если Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с установкой зависимостСй, ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии зависимостСй (Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅). Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова npm install.

bootstrap-4.ru

ΠžΠ±Π·ΠΎΡ€. Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° Β· Bootstrap

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ для создания вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Bootstrap, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, ΠΌΠΎΡ‰Π½ΡƒΡŽ ΡΠ΅Ρ‚Ρ‡Π°Ρ‚ΡƒΡŽ систСму, Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΌΠ΅Π΄ΠΈΠ°-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ слуТСбныС классы.

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹

Π­Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² Bootstrap ΠΈ ΠΎΠ½ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠΏΡ€ΠΈ использовании нашСй стандартной сСточной систСмы. Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΉ, с фиксированной ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ (Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ max-width измСняСтся Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π΅) ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ (width ==100% всСгда).

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ элСмСнты, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· Π½ΠΈΡ….

<div>
  <!-- Content here -->
</div>

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ .container-fluid для создания ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΠΎΠ»Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ 100% Π·ΠΎΠ½Ρ‹ просмотра.

<div>
  ...
</div>

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Ρ‹

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Bootstrap Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ mobile-first, Ρ‚ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Π΄ΠΈΠ°-запросы @media для создания Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ интСрфСйсов. Π­Ρ‚ΠΈ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Ρ‹ Π² основном сдСланы Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡˆΠΈΡ€ΠΎΡ‚Π°Ρ… Π·ΠΎΠ½Ρ‹ просмотра ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π·ΠΎΠ½Ρ‹ просмотра.

Π’ исходниках Sass Bootstrap Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ записаны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π½Π³ΠΈ @media (Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Ρ‹) для Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, сСточной систСмы ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

// ЭкстрамалыС дСвайсы (Β«Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹Β», 
// ΠœΠ°Π»Ρ‹Π΅ дСвайсы (Β«Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½Ρ‹Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹Β», >= 576px)
@media (min-width: 576px) { ... }

// Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ дСвайсы (Β«Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈΒ», >= 768px)
@media (min-width: 768px) { ... }

// Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (дСсктопы, >= 992px)
@media (min-width: 992px) { ... }

// Π­ΠΊΡΡ‚Ρ€Π°Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы, >= 1200px)
@media (min-width: 1200px) { ... }

Π’Π°ΠΊ ΠΊΠ°ΠΊ всС эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ записаны Π² исходниках ΠΊΠ°ΠΊ Sass, всС @media доступны Ρ‡Π΅Ρ€Π΅Π· миксины:

// НС сущСствуСт ΠΌΠ΅Π΄ΠΈΠ°-запрос для Π±Ρ€Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π° xs, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это фактичСски `@media (min-width: 0) { ... }`
@include media-breakpoint-up(sm) { ... }
@include media-breakpoint-up(md) { ... }
@include media-breakpoint-up(lg) { ... }
@include media-breakpoint-up(xl) { ... }

// 
ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ с `min-width: 0`, Π° Π·Π°Ρ‚Π΅ΠΌ отобраТаСтся Π½Π° Π±Ρ€Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π΅ `sm`
.custom-class {
  display: none;
}
@include media-breakpoint-up(sm) {
  .custom-class {
    display: block;
  }
}

По ΡΠ»ΡƒΡ‡Π°ΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ (max-width: 575px == Β«Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ мСньшС»):

// ЭкстрамалыС дСвайсы (Β«Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹Β», @media (max-width: 575.98px) { ... }

// ΠœΠ°Π»Ρ‹Π΅ дСвайсы (Β«Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½Ρ‹Π΅Β», @media (max-width: 767.98px) { ... }

// Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ дСвайсы (Β«Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈΒ», @media (max-width: 991.98px) { ... }

// Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы, @media (max-width: 1199.98px) { ... }

// Π­ΠΊΡΡ‚Ρ€Π°Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы)
// Π’ΡƒΡ‚ Π½Π΅Ρ‚ @media, Ρ‚.ΠΊ. Ρ‚Π°ΠΊΠΈΠ΅ Π±Ρ€Π΅ΠΉΠΏΠΊΠΎΠΉΠ½Ρ‚Ρ‹ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ width

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π² настоящСС врСмя Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ запросы Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ограничСния min- ΠΈ max- prefixes прСфиксов ΠΈ Π²ΠΈΠ΄ΠΎΠ²Ρ‹Ρ… экранов с Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ (Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условиях Π½Π° устройствах с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° дюйм, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ значСния с Π±ΠΎΠ»Π΅Π΅ высоким Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ для этих сравнСний.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, эти @media доступны Ρ‡Π΅Ρ€Π΅Π· Sass миксины:

@include media-breakpoint-down(xs) { ... }
@include media-breakpoint-down(sm) { ... }
@include media-breakpoint-down(md) { ... }
@include media-breakpoint-down(lg) { ... }
// НСт ΠΌΠ΅Π΄ΠΈΠ°-запроса, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ для Π±Ρ€Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π° xl, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΡΡ‚ΠΈΠ»ΡŒ ΠΈΠ· срСднСго Π±Ρ€Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Π° ΠΈ Π²Π½ΠΈΠ·
@include media-breakpoint-down(md) {
  .custom-class {
    display: block;
  }
}

Π’Π°ΠΊΠΆΠ΅ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ @media ΠΈ миксины Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² экрана, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚ΠΎΠ².

// ЭкстрамалыС дСвайсы (Β«ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹Β», @media (max-width: 575.98px) { ... }

// ΠœΠ°Π»Ρ‹Π΅ дСвайсы (Β«Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½Ρ‹Π΅Β», >= 575px)
@media (min-width: 576px) and (max-width: 767.98px) { ... }

// Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ дСвайсы (Β«Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈΒ», >= 768px) 
@media (min-width: 768px) and (max-width: 991.98px) { ... }

// Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы, >= 992px)
@media (min-width: 992px) and (max-width: 1199.98px) { ... }

// Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы, >= 1200px)
@media (min-width: 1200px) { ... }

Π­Ρ‚ΠΈ @media Ρ‚Π°ΠΊΠΆΠ΅ доступны ΠΈΠ· миксинов Sass:

@include media-breakpoint-only(xs) { ... }
@include media-breakpoint-only(sm) { ... }
@include media-breakpoint-only(md) { ... }
@include media-breakpoint-only(lg) { ... }
@include media-breakpoint-only(xl) { ... }

Π’Π°ΠΊΠΆΠ΅, @media ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡˆΠΈΡ€ΠΈΠ½ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π°:

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€
// Π—Π΄Π΅ΡΡŒ стили примСнятся ΠΎΡ‚ срСдних дСвайсов Π΄ΠΎ XL-дСвайсов
@media (min-width: 768px) and (max-width: 1199.98px) { ... }

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ Sass для Π·Π°Ρ…Π²Π°Ρ‚Π° Ρ‚Π°ΠΊΠΈΡ… ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (Π²Ρ‹ΡˆΠ΅) выглядСли Π±Ρ‹ Ρ‚Π°ΠΊ:

@include media-breakpoint-between(md, xl) { ... }

Z-индСкс

НСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Bootstrap ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ индСкс z-index, Ρ‚.Π΅. свойство CSS, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ располоТСниС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ оси. Π’ Bootstrap ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ «стандартный» Z-индСкс, спроСктированный для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ располоТСния Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… подсказок, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ ΠΈ Ρ‚.Π½. β€œmodals” (pop-up ΠΎΠΊΠ½ΠΎ Π½Π°Π²Π΅Ρ€Ρ…Ρƒ страницы).

Π­Ρ‚ΠΈ Π²Ρ‹ΡΡˆΠΈΠ΅ значСния ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с любого числа, Π² ΠΈΠ΄Π΅Π°Π»Π΅ достаточно большого ΠΈ спСцифичного, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Нам Π½ΡƒΠΆΠ΅Π½ стандартный Π½Π°Π±ΠΎΡ€ этих чисСл для использования с нашими ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ: Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ подсказками, ΠΎΠΊΠ½Π°ΠΌΠΈ, Π½Π°Π²Π±Π°Ρ€Π°ΠΌΠΈ, Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами, ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами — Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. НС сущСствуСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ…ΠΎΡ‚ΡŒ 100, Ρ…ΠΎΡ‚ΡŒ 500 ΠΈ Π±ΠΎΠ»Π΅Π΅.

ΠœΡ‹ Π½Π΅ совСтуСм Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ эти значСния самому, Ρ‚.ΠΊ. Ссли потрСбуСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ, придСтся ΠΌΠ΅Π½ΡΡ‚ΡŒ всС.

$zindex-dropdown:          1000 !default;
$zindex-sticky:            1020 !default;
$zindex-fixed:             1030 !default;
$zindex-modal-backdrop:    1040 !default;
$zindex-modal:             1050 !default;
$zindex-popover:           1060 !default;
$zindex-tooltip:           1070 !default;

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эффСктивно ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ с ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π²Π²ΠΎΠ΄Π° Π² Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… Ρ„ΠΎΡ€ΠΌ Π²Π²ΠΎΠ΄Π°), ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ значСния z-index 1,2,3, Π° Ρ‚Π°ΠΊΠΆΠ΅ hover ΠΈ «Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ состояния». Π’ hover/focus/active ΠΌΡ‹ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΠΌ частный элСмСнт ΠΊ «ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅ΠΌΡƒ ΠΊΡ€Π°ΡŽ» использованиСм Π±ΠΎΠ»Π΅Π΅ высокого z-индСкса, для ΠΏΠΎΠΊΠ°Π·Π° Π΅Π³ΠΎ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π½Π°Π΄ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ элСмСнтами.

bootstrap-4.ru

Bootstrap Бутстрап 4 Get Started



Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Bootstrap?

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Адаптивный Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½?

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΉ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΎ создании Π²Π΅Π±-сайтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ автоматичСски Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сСбя Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π½Π° всСх устройствах, ΠΎΡ‚ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ².


Bootstrap 3 vs. Bootstrap 4

Bootstrap 4 β€” новСйшая вСрсия Bootstrap; с Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, Π±ΠΎΠ»Π΅Π΅ быстрой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй ΠΈ большСй ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒΡŽ.

Bootstrap 4 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ новСйшиС, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ выпуски всСх основных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Internet Explorer 9 ΠΈ Π²Π½ΠΈΠ· Π½Π΅ поддСрТиваСтся.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° IE8-9, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Bootstrap 3. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия Bootstrap, ΠΈ ΠΎΠ½Π° ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ поддСрТиваСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ для критичСских исправлСний ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊ Π½Π΅ΠΌΡƒ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π½Π°Ρ‡ΠΊΠΎΠ² Π΄Ρ€ΠΎΠΏΠΏΠΏΠ΅Π΄: Bootstrap 4 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ BS3 глификонс. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π¨Ρ€ΠΈΡ„Ρ‚-Awesome ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π½Π°Ρ‡ΠΊΠΎΠ² вмСсто.


Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Bootstrap?

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Bootstrap:

  • ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° Π² использовании: ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ с Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания HTML ΠΈ CSS ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Bootstrap
  • АдаптивныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: Адаптивный CSS Bootstrap адаптируСтся ΠΊ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°ΠΌ, ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°ΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ столам
  • ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ-ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄: Π’ Bootstrap, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅-First стили ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ основной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ: Bootstrap 4 совмСстима со всСми соврСмСнными Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ (Chrome, Firefox, Internet Explorer 10 +, EDGE, Safari ΠΈ Opera)

Π“Π΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Bootstrap 4?

БущСствуСт Π΄Π²Π° способа Π½Π°Ρ‡Π°Ρ‚ΡŒ использованиС Bootstrap 4 Π½Π° собствСнном Π²Π΅Π±-ΡƒΠ·Π»Π΅.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Bootstrap 4 ΠΈΠ· CDN
  • Π‘ΠΊΠ°

html5css.ru

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈ устройства. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Β· Bootstrap. ВСрсия v4.0.0

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΈ устройствах всСх Π²ΠΈΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Bootstrap ΠΈ ΠΎΠ± извСстных Π±Π°Π³Π°Ρ… для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

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

Bootstrap ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС новСйшиС, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π’ Windows поддСрТиваСтся IE10-11 / Microsoft Edge.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Webkit, Blink ΠΈΠ»ΠΈ Gecko, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Однако ΠΈ Π² Π½ΠΈΡ… BS4 Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Π‘ΠΎΠ»Π΅Π΅ точная информация – Π½ΠΈΠΆΠ΅.

ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ устройства

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, BS4 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ послСдниС вСрсии Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ прокси-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Opera Mini, Opera Mobile’s Turbo mode, UC Browser Mini, Amazon Silk) Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

Chrome Firefox Safari Android Browser & WebView Microsoft Edge
Android ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ НСт Android v5.0+ поддСрТиваСтся ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
iOS ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ НСт ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
Windows 10 Mobile НСт НСт НСт НСт ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ PC

Аналогично, послСдниС вСрсии Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ‚Π°ΠΊΠΎΠ²Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹.

Chrome Firefox Internet Explorer Microsoft Edge Opera Safari
Mac ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ НСт НСт ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
Windows ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ, IE10+ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ НС поддСрТиваСтся

Для Firefox, дополняя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ послСднСго ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π°, BS4 Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ послСдний Ρ€Π΅Π»ΠΈΠ· Firefox с Β«Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉΒ» — Extended Support Release (ESR).

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ BS4 Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π² Chromium ΠΈ Chrome Π² ЛинуксС, Firefox для Линуска, ΠΈ IE9, хотя эти Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ.

Для получСния списка Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Β«Π±Π°Π³ΠΎΠ²Β» Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ довольно Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ, заглянитС Π½Π° стСну Β«Π±Π°Π³ΠΎΠ²Β».

Internet Explorer

IE 10+ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ, IE9 ΠΈ Π½ΠΈΠΆΠ΅ – Π½Π΅Ρ‚. Π—Π½Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свойства CSS3 ΠΈ элСмСнты HTML5 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π² IE10, ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ прСдустановлСнных свойств для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅ Can I use… для подробностСй ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ свойств CSS3 ΠΈ HTML5.

Если Π²Π°ΠΌ потрСбуСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° IE8-9, ΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ BS3. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия ΠΈ ΠΎΠ½Π° всС Π΅Ρ‰Π΅ поддСрТиваСтся нашСй ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ критичСских случаях. Но Ρ‚ΡƒΠ΄Π° ΡƒΠΆΠ΅ Π½Π΅ добавятся Π½ΠΎΠ²Ρ‹Π΅ возмоТности ΠΈ свойства.

Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΈΠΊΠ°Ρ…

ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ содСрТания Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ элСмСнта, Ссли ΠΎΠ½ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π½Π΅ помСщаСтся ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ².

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° свойства overflow:hidden; достаточно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Π² iOS ΠΈ Андроидах. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ Π½ΠΈΠΆΠ΅ Π²Π΅Ρ€Ρ…Π° ΠΈΠ»ΠΈ Π½ΠΈΠ·Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° Π² этих устройствах, содСрТимоС <body> Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Chrome bug #175502 (Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π² Chrome v40) ΠΈ WebKit bug #153852.

ВСкстовыС поля ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Π² iOS

Π§Ρ‚ΠΎ касаСтся iOS 9.2, — ΠΏΠΎΠΊΠ° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ – Ссли Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ касаниС ТСста ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³Ρ€Π°Π½ΠΈΡ† <input> ΠΈΠ»ΠΈ <textarea>, ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ вмСсто ΠΎΠΊΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ содСрТимоС <body>. Π‘ΠΌΠΎΡ‚Ρ€ΠΈ WebKit bug #153856.

Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ .dropdown-backdrop Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° iOS Π² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ·-Π·Π° слоТности z-индСксирования. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ элСмСнт, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΡΠ½ΡƒΡ‚ΡŒΡΡ Π΅Π³ΠΎ (ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ событиС Β«ΠΊΠ»ΠΈΠΊΒ» Π² iOS).

Β«Π—ΡƒΠΌΒ» Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅

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

Β«Π›ΠΈΠΏΠΊΠΈΠΉΒ» :hover/:focus Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ…

Π₯отя Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Β«hoverΒ» Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ тачскринов, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ Π΅Π³ΠΎ ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ :hover Β«Π»ΠΈΠΏΠΊΠΈΠΌΒ». Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами: стили :hover Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ послС постукивания Π½Π° элСмСнтС ΠΈ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ лишьпослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡŽΠ·Π΅Ρ€ «стукнСт» ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ элСмСнту. На сайтах ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Β«mobile-firstΒ» Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Bootstrap ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для описанного повСдСния, хотя ΠΎΠ½ΠΎ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠŸΡ€ΠΈ установкС значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $enable-hover-media-query Π½Π° true ΠΏΡ€ΠΈ компиляции Sass, BS4 Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ mq4-hover-shim для Π΄Π΅Π·Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ стилСй :hover Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Β«hoveringΒ», Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ прСдотвращая Β«Π»ΠΈΠΏΠΊΠΎΠ΅Β» ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ стилСй :hover.

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ

Π”Π°ΠΆΠ΅ Π² соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π§Ρ‚ΠΎ касаСтся Safari v8.0 – использованиС класса с фиксированной ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ .container ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ΅Π»ΠΊΠΈΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ issue issue #14868 ΠΈ WebKit bug #138192. Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ…ΠΎΠ΄ этого Π±Π°Π³Π° (ΠΊΠΎΠ΄ Π²Π½ΠΈΠ·Ρƒ):

@media print {
  .container {
    width: auto;
  }
}

ВстроСнный Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Андроида

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Android 4.1 (ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹ ) ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Chrome). К Π½Π΅ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство Β«Π±Π°Π³ΠΎΠ²Β» ΠΈ нСсовмСстимостСй с CSS Π² Ρ†Π΅Π»ΠΎΠΌ.

По элСмСнтам <select>: встроСнный Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄Π° Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΠΈΡ… элСмСнты управлСния (ΠΊΠ½ΠΎΠΏΠΊΠΈ), Ссли ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ border-radius ΠΈ\ΠΈΠ»ΠΈ border. (Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ вопрос Π½Π° StackOverflow). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ кусок ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅ для удалСния ΠΌΠ΅ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ CSS ΠΈ отрисовки элСмСнта <select> встроСнным Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄Π° ΠΊΠ°ΠΊ «нСстилизованного» элСмСнта. Π’ этом случаС ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ происходит взаимодСйствия с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ Chrome, Safari ΠΈ Mozilla.

<script>
$(function () {
  var nua = navigator.userAgent
  var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1)
  if (isAndroid) {
    $('select.form-control').removeClass('form-control').css('width', '100%')
  }
})
</script>

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€? JS Bin demo.

Π’Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€Ρ‹

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

Π­Ρ‚ΠΈ Β«Ρ€ΡƒΠ³Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°Β» Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€Π° Π½Π΅ слСдуСт Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ наш CSS ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²Π°Π»ΠΈΠ΄Π΅Π½, Π° Β«Ρ…Π°ΠΊΠΈΒ» Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ CSS. ΠŸΠΎΡΠ΅ΠΌΡƒ смСло ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ эти прСдупрСТдСния.

Наши HTML–докумСнты Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ нСсущСствСнныС прСдупрСТдСния – ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ «костыли» для исправлСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Β«Π±Π°Π³Π°Β» Π² Firefox.

bootstrap-4.ru

ΠžΠ±Π·ΠΎΡ€. Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° Β· Bootstrap. ВСрсия v4.0.0

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ для создания вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Bootstrap, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, ΠΌΠΎΡ‰Π½ΡƒΡŽ ΡΠ΅Ρ‚Ρ‡Π°Ρ‚ΡƒΡŽ систСму, Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΌΠ΅Π΄ΠΈΠ°-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠ΅ классы полСзности.

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹

Π­Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² Bootstrap ΠΈ ΠΎΠ½ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠΏΡ€ΠΈ использовании нашСй стандартной сСточной систСмы. Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΉ, с фиксированной ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ (Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ max-width измСняСтся Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π΅) ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ (width ==100% всСгда).

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ элСмСнты, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· Π½ΠΈΡ….

<div>
  <!-- Content here -->
</div>

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ .container-fluid для создания ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΠΎΠ»Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ 100% Π·ΠΎΠ½Ρ‹ просмотра.

<div>
  ...
</div>

ΠžΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Ρ‹

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Bootstrap Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ mobile-first, Ρ‚ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Π΄ΠΈΠ°-запросы @media для создания Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ интСрфСйсов. Π­Ρ‚ΠΈ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Ρ‹ Π² основном сдСланы Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡˆΠΈΡ€ΠΎΡ‚Π°Ρ… Π·ΠΎΠ½Ρ‹ просмотра ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π·ΠΎΠ½Ρ‹ просмотра.

Π’ исходниках Sass Bootstrap Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ записаны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π½Π³ΠΈ @media (Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Ρ‹) для Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, сСточной систСмы ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

// ЭкстрамалыС дСвайсы (Β«Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹Β», 
// ΠœΠ°Π»Ρ‹Π΅ дСвайсы (Β«Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½Ρ‹Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹Β», >= 576px)
@media (min-width: 576px) { ... }

// Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ дСвайсы (Β«Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈΒ», >= 768px)
@media (min-width: 768px) { ... }

// Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (дСсктопы, >= 992px)
@media (min-width: 992px) { ... }

// Π­ΠΊΡΡ‚Ρ€Π°Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы, >= 1200px)
@media (min-width: 1200px) { ... }

Π’Π°ΠΊ ΠΊΠ°ΠΊ всС эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ записаны Π² исходниках ΠΊΠ°ΠΊ Sass, всС @media доступны Ρ‡Π΅Ρ€Π΅Π· миксины:

@include media-breakpoint-up(xs) { ... }
@include media-breakpoint-up(sm) { ... }
@include media-breakpoint-up(md) { ... }
@include media-breakpoint-up(lg) { ... }
@include media-breakpoint-up(xl) { ... }

// Example usage:
@include media-breakpoint-up(sm) {
  .some-class {
    display: block;
  }
}

По ΡΠ»ΡƒΡ‡Π°ΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ (max-width: 575px == Β«Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ мСньшС»):

// ЭкстрамалыС дСвайсы (Β«Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹Β», @media (max-width: 575.98px) { ... }

// ΠœΠ°Π»Ρ‹Π΅ дСвайсы (Β«Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½Ρ‹Π΅Β», @media (max-width: 767.98px) { ... }

// Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ дСвайсы (Β«Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈΒ», @media (max-width: 991.98px) { ... }

// Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы, @media (max-width: 1199.98px) { ... }

// Π­ΠΊΡΡ‚Ρ€Π°Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы)
// Π’ΡƒΡ‚ Π½Π΅Ρ‚ @media, Ρ‚.ΠΊ. Ρ‚Π°ΠΊΠΈΠ΅ Π±Ρ€Π΅ΠΉΠΏΠΊΠΎΠΉΠ½Ρ‚Ρ‹ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ width

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π² настоящСС врСмя Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ запросы Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ограничСния min- ΠΈ max- prefixes прСфиксов ΠΈ Π²ΠΈΠ΄ΠΎΠ²Ρ‹Ρ… экранов с Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ (Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условиях Π½Π° устройствах с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° дюйм, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ значСния с Π±ΠΎΠ»Π΅Π΅ высоким Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ для этих сравнСний.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, эти @media доступны Ρ‡Π΅Ρ€Π΅Π· Sass миксины:

@include media-breakpoint-down(xs) { ... }
@include media-breakpoint-down(sm) { ... }
@include media-breakpoint-down(md) { ... }
@include media-breakpoint-down(lg) { ... }

Π’Π°ΠΊΠΆΠ΅ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ @media ΠΈ миксины Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² экрана, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚ΠΎΠ².

// ЭкстрамалыС дСвайсы (Β«ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹Β», @media (max-width: 575.98px) { ... }

// ΠœΠ°Π»Ρ‹Π΅ дСвайсы (Β«Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½Ρ‹Π΅Β», >= 575px)
@media (min-width: 576px) and (max-width: 767.98px) { ... }

// Π‘Ρ€Π΅Π΄Π½ΠΈΠ΅ дСвайсы (Β«Ρ‚Π°Π±Π»Π΅Ρ‚ΠΊΠΈΒ», >= 768px) 
@media (min-width: 768px) and (max-width: 991.98px) { ... }

// Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы, >= 992px)
@media (min-width: 992px) and (max-width: 1199.98px) { ... }

// Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ дСвайсы (большиС дСсктопы, >= 1200px)
@media (min-width: 1200px) { ... }

Π­Ρ‚ΠΈ @media Ρ‚Π°ΠΊΠΆΠ΅ доступны ΠΈΠ· миксинов Sass:

@include media-breakpoint-only(xs) { ... }
@include media-breakpoint-only(sm) { ... }
@include media-breakpoint-only(md) { ... }
@include media-breakpoint-only(lg) { ... }
@include media-breakpoint-only(xl) { ... }

Π’Π°ΠΊΠΆΠ΅, @media ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡˆΠΈΡ€ΠΈΠ½ Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΉΠ½Ρ‚Π°:

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€
// Π—Π΄Π΅ΡΡŒ стили примСнятся ΠΎΡ‚ срСдних дСвайсов Π΄ΠΎ XL-дСвайсов
@media (min-width: 768px) and (max-width: 1199.98px) { ... }

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ Sass для Π·Π°Ρ…Π²Π°Ρ‚Π° Ρ‚Π°ΠΊΠΈΡ… ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (Π²Ρ‹ΡˆΠ΅) выглядСли Π±Ρ‹ Ρ‚Π°ΠΊ:

@include media-breakpoint-between(md, xl) { ... }

Z-индСкс

НСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Bootstrap ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ индСкс z-index, Ρ‚.Π΅. свойство CSS, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ располоТСниС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ оси. Π’ Bootstrap ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ «стандартный» Z-индСкс, спроСктированный для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ располоТСния Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… подсказок, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ ΠΈ Ρ‚.Π½. β€œmodals” (pop-up ΠΎΠΊΠ½ΠΎ Π½Π°Π²Π΅Ρ€Ρ…Ρƒ страницы).

Π­Ρ‚ΠΈ Π²Ρ‹ΡΡˆΠΈΠ΅ значСния ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с любого числа, Π² ΠΈΠ΄Π΅Π°Π»Π΅ достаточно большого ΠΈ спСцифичного, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Нам Π½ΡƒΠΆΠ΅Π½ стандартный Π½Π°Π±ΠΎΡ€ этих чисСл для использования с нашими ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ: Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ подсказками, ΠΎΠΊΠ½Π°ΠΌΠΈ, Π½Π°Π²Π±Π°Ρ€Π°ΠΌΠΈ, Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами, ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами — Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΡΡ‚Π°Π½Π΄Π°Ρ€Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. НС сущСствуСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ…ΠΎΡ‚ΡŒ 100, Ρ…ΠΎΡ‚ΡŒ 500 ΠΈ Π±ΠΎΠ»Π΅Π΅.

ΠœΡ‹ Π½Π΅ совСтуСм Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ эти значСния самому, Ρ‚.ΠΊ. Ссли потрСбуСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ, придСтся ΠΌΠ΅Π½ΡΡ‚ΡŒ всС.

$zindex-dropdown:          1000 !default;
$zindex-sticky:            1020 !default;
$zindex-fixed:             1030 !default;
$zindex-modal-backdrop:    1040 !default;
$zindex-modal:             1050 !default;
$zindex-popover:           1060 !default;
$zindex-tooltip:           1070 !default;

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эффСктивно ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ с ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π²Π²ΠΎΠ΄Π° Π² Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… Ρ„ΠΎΡ€ΠΌ Π²Π²ΠΎΠ΄Π°), ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ значСния z-index 1,2,3, Π° Ρ‚Π°ΠΊΠΆΠ΅ hover ΠΈ «Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ состояния». Π’ hover/focus/active ΠΌΡ‹ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΠΌ частный элСмСнт ΠΊ «ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅ΠΌΡƒ ΠΊΡ€Π°ΡŽ» использованиСм Π±ΠΎΠ»Π΅Π΅ высокого z-индСкса, для ΠΏΠΎΠΊΠ°Π·Π° Π΅Π³ΠΎ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π½Π°Π΄ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ элСмСнтами.

bootstrap-4.ru

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

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