Починаємо
Огляд Bootstrap, способи завантаження та використання, основні шаблони та приклади тощо.
Огляд Bootstrap, способи завантаження та використання, основні шаблони та приклади тощо.
Bootstrap (наразі версія 3.4.1) має кілька простих способів швидко розпочати роботу, кожен із яких підходить для різного рівня навичок і варіантів використання. Прочитайте, щоб побачити, що відповідає вашим конкретним потребам.
Зібрані та скорочені CSS, JavaScript і шрифти. Документи чи вихідні файли не включені.
Source Less, JavaScript і файли шрифтів разом із нашими документами. Потрібен компілятор Less і деякі налаштування.
Bootstrap перенесено з Less на Sass для легкого включення в проекти Rails, Compass або Sass.
Співробітники jsDelivr люб’язно надають підтримку CDN для CSS і JavaScript Bootstrap. Просто використовуйте ці посилання jsDelivr .
Ви також можете встановити Bootstrap Less, CSS, JavaScript і шрифти та керувати ними за допомогою Bower :
Ви також можете встановити Bootstrap за допомогою npm :
require('bootstrap')
завантажить усі плагіни jQuery Bootstrap в об’єкт jQuery. Сам bootstrap
модуль нічого не експортує. Ви можете вручну завантажити плагіни jQuery Bootstrap окремо, завантаживши /js/*.js
файли в каталог верхнього рівня пакета.
Bootstrap package.json
містить деякі додаткові метадані за такими ключами:
less
- шлях до основного вихідного файлу Less Bootstrapstyle
- шлях до немініфікованого CSS Bootstrap, попередньо скомпільованого з використанням налаштувань за замовчуванням (без налаштування)Ви також можете встановити Bootstrap Less, CSS, JavaScript і шрифти та керувати ними за допомогою Composer :
Bootstrap використовує Autoprefixer для роботи з префіксами постачальників CSS . Якщо ви компілюєте Bootstrap із джерела Less/Sass і не використовуєте наш Gruntfile, вам потрібно буде самостійно інтегрувати Autoprefixer у процес збірки. Якщо ви використовуєте попередньо скомпільований Bootstrap або використовуєте наш Gruntfile, вам не потрібно турбуватися про це, оскільки Autoprefixer уже інтегровано в наш Gruntfile.
Bootstrap можна завантажити у двох формах, у яких ви знайдете наступні каталоги та файли, логічно групуючи спільні ресурси та надаючи як скомпільовані, так і мінімізовані варіанти.
Зауважте, що всі плагіни JavaScript вимагають включення jQuery, як показано в стартовому шаблоні . Зверніться до насbower.json
, щоб дізнатися, які версії jQuery підтримуються.
Після завантаження розархівуйте стиснуту папку, щоб побачити структуру (скомпільованого) Bootstrap. Ви побачите щось на зразок цього:
Це найпростіша форма Bootstrap: попередньо скомпільовані файли для швидкого використання майже в будь-якому веб-проекті. Ми надаємо скомпільований CSS і JS ( bootstrap.*
), а також скомпільований і скорочений CSS і JS ( bootstrap.min.*
). Вихідні карти CSS ( bootstrap.*.map
) доступні для використання з інструментами розробника певних браузерів. Включено шрифти з Glyphicons, як і додаткову тему Bootstrap.
Завантажений вихідний код Bootstrap містить попередньо скомпільований CSS, JavaScript і ресурси шрифтів, а також джерело Less, JavaScript і документацію. Зокрема, він включає наступне та багато іншого:
, less/
, js/
і fonts/
є вихідним кодом для наших шрифтів CSS, JS і піктограм (відповідно). Папка містить усе , dist/
що перелічено у попередньо скомпільованому розділі завантаження вище. docs/
Папка містить вихідний код для нашої документації та examples/
використання Bootstrap . Окрім цього, будь-який інший включений файл забезпечує підтримку пакетів, інформацію про ліцензію та розробку.
Bootstrap використовує Grunt для своєї системи збірки зі зручними методами роботи з фреймворком. Це те, як ми компілюємо наш код, запускаємо тести тощо.
Щоб установити Grunt, ви повинні спочатку завантажити та встановити node.js (який включає npm). npm розшифровується як пакетні модулі вузлів і є способом керування залежностями розробки через node.js.
Потім з командного рядка:grunt-cli
глобально за допомогою npm install -g grunt-cli
./bootstrap/
каталогу, а потім запустіть npm install
. npm перегляне package.json
файл і автоматично встановить перелічені там необхідні локальні залежності.Після завершення ви зможете запускати різноманітні команди Grunt із командного рядка.
grunt dist
(Просто скомпілюйте CSS і JavaScript)Регенерує /dist/
каталог зі скомпільованими та зменшеними файлами CSS і JavaScript. Як користувач Bootstrap, зазвичай вам потрібна ця команда.
grunt watch
(Дивитися)Переглядає вихідні файли Less і автоматично перекомпілює їх у CSS щоразу, коли ви зберігаєте зміни.
grunt test
(Виконайте тести)Запускає JSHint і запускає тести QUnit у реальних браузерах завдяки Karma .
grunt docs
(Створення та тестування ресурсів документів)Створює та тестує CSS, JavaScript та інші ресурси, які використовуються під час запуску документації локально через bundle exec jekyll serve
.
grunt
(Створіть абсолютно все та запустіть тести)Компілює та мінімізує CSS і JavaScript, створює веб-сайт документації, запускає валідатор HTML5 для документів, повторно генерує активи Customizer тощо. Потрібен Джекіл . Зазвичай це необхідно, лише якщо ви зламуєте сам Bootstrap.
Якщо у вас виникнуть проблеми зі встановленням залежностей або виконанням команд Grunt, спочатку видаліть /node_modules/
каталог, створений npm. Потім запустіть повторно npm install
.
Почніть із цього основного шаблону HTML або змініть ці приклади . Ми сподіваємося, що ви налаштуєте наші шаблони та приклади, адаптувавши їх відповідно до своїх потреб.
Скопіюйте наведений нижче HTML, щоб почати працювати з мінімальним документом Bootstrap.
Створіть базовий шаблон вище з багатьма компонентами Bootstrap. Ми заохочуємо вас налаштувати та адаптувати Bootstrap відповідно до потреб вашого проекту.
Отримайте вихідний код для кожного прикладу нижче, завантаживши репозиторій Bootstrap . Приклади можна знайти в docs/examples/
довіднику.
Суперпростий шаблон, який включає навігаційну панель разом із додатковим вмістом.
Базова структура інформаційної панелі адміністратора з фіксованою бічною та навігаційною панелями.
Створіть спеціальну панель навігації з вирівняними посиланнями. Голови вгору! Не надто зручне для Safari.
Bootlint — це офіційний інструмент HTML -лінтера Bootstrap . Він автоматично перевіряє кілька поширених помилок HTML на веб-сторінках, які використовують Bootstrap у досить «ванільний» спосіб. Компоненти/віджети Vanilla Bootstrap вимагають, щоб їхні частини DOM відповідали певним структурам. Bootlint перевіряє, чи екземпляри компонентів Bootstrap мають правильну структуру HTML. Подумайте про те, щоб додати Bootlint до вашого інструментарію веб-розробки Bootstrap, щоб жодна з поширених помилок не сповільнювала розробку вашого проекту.
Будьте в курсі розробок Bootstrap і зв’яжіться зі спільнотою за допомогою цих корисних ресурсів.
irc.freenode.net
сервері в каналі ##bootstrap .twitter-bootstrap-3
.bootstrap
в пакетах, які змінюють або доповнюють функціональність Bootstrap під час розповсюдження через npm або подібні механізми доставки для максимальної видимості.Ви також можете слідкувати за @getbootstrap у Twitter , щоб дізнаватися про останні плітки та дивовижні музичні відео.
Bootstrap автоматично адаптує ваші сторінки до різних розмірів екрана. Ось як вимкнути цю функцію, щоб ваша сторінка працювала, як у цьому прикладі без реагування .
<meta>
згадану в документах CSSwidth
на .container
для кожного рівня сітки єдиною шириною, наприклад width: 970px !important;
, переконайтеся, що це стоїть після CSS Bootstrap за замовчуванням. За бажанням ви можете уникнути за !important
допомогою медіа-запитів або деяких селекторів-fu..col-xs-*
класи на додаток до середніх/великих або замість них. Не хвилюйтеся, дуже маленька сітка пристрою масштабується до будь-якої роздільності.Вам все одно знадобиться Respond.js для IE8 (оскільки наші медіа-запити все ще існують і потребують обробки). Це вимикає аспекти «мобільного сайту» Bootstrap.
Ми застосували ці кроки до прикладу. Прочитайте його вихідний код, щоб побачити внесені конкретні зміни.
Хочете перейти зі старішої версії Bootstrap на v3.x? Перегляньте наш посібник із міграції .
Bootstrap створено для найкращої роботи в найновіших настільних і мобільних браузерах, тобто старіші браузери можуть відображати різні стилі, хоча повністю функціональні, відтворення певних компонентів.
Зокрема, ми підтримуємо останні версії наведених нижче браузерів і платформ.
Альтернативні браузери, які використовують останню версію WebKit, Blink або Gecko, безпосередньо чи через API веб-перегляду платформи, явно не підтримуються. Однак Bootstrap має (у більшості випадків) також правильно відображатися та працювати в цих браузерах. Нижче наведено більш точну інформацію про підтримку.
Загалом, Bootstrap підтримує найновіші версії браузерів за замовчуванням на кожній основній платформі. Зауважте, що проксі-браузери (наприклад, Opera Mini, режим Turbo Opera Mobile, UC Browser Mini, Amazon Silk) не підтримуються.
Chrome | Firefox | Сафарі | |
---|---|---|---|
Android | Підтримується | Підтримується | N/A |
iOS | Підтримується | Підтримується | Підтримується |
Так само підтримуються останні версії більшості настільних браузерів.
Chrome | Firefox | Internet Explorer | Опера | Сафарі | |
---|---|---|---|---|---|
Мак | Підтримується | Підтримується | N/A | Підтримується | Підтримується |
вікна | Підтримується | Підтримується | Підтримується | Підтримується | Не підтримується |
У Windows ми підтримуємо Internet Explorer 8-11 .
Для Firefox, окрім останньої звичайної стабільної версії, ми також підтримуємо останню версію Firefox із розширеною підтримкою (ESR) .
Неофіційно Bootstrap має виглядати та вести себе досить добре в Chromium і Chrome для Linux, Firefox для Linux і Internet Explorer 7, а також Microsoft Edge, хоча вони офіційно не підтримуються.
Щоб переглянути список деяких помилок браузера, з якими доводиться боротися Bootstrap, перегляньте нашу Стіну помилок браузера .
Internet Explorer 8 і 9 також підтримуються, однак майте на увазі, що деякі властивості CSS3 і елементи HTML5 не повністю підтримуються цими браузерами. Крім того, Internet Explorer 8 вимагає використання Respond.js для підтримки медіа-запитів.
Особливість | Internet Explorer 8 | Internet Explorer 9 |
---|---|---|
border-radius |
Не підтримується | Підтримується |
box-shadow |
Не підтримується | Підтримується |
transform |
Не підтримується | Підтримується, з -ms префіксом |
transition |
Не підтримується | |
placeholder |
Не підтримується |
Перейдіть на сторінку Чи можу я використовувати... , щоб дізнатися більше про підтримку браузером функцій CSS3 і HTML5.
Зверніть увагу на наступні застереження під час використання Respond.js у середовищі розробки та виробництва для Internet Explorer 8.
Використання Respond.js із CSS, розміщеним в іншому (суб)домене (наприклад, у CDN), вимагає деяких додаткових налаштувань. Докладніше див. у документах Respond.js .
file://
Через правила безпеки браузера Respond.js не працює зі сторінками, які переглядаються через file://
протокол (наприклад, під час відкриття локального файлу HTML). Щоб перевірити адаптивні функції в IE8, переглядайте свої сторінки через HTTP(S). Докладніше див. у документах Respond.js .
@import
Respond.js не працює з CSS, на який посилається через @import
. Зокрема, відомо, що деякі конфігурації Drupal використовують @import
. Докладніше див. у документах Respond.js .
IE8 не підтримує повністю box-sizing: border-box;
в поєднанні з min-width
, max-width
, min-height
або max-height
. З цієї причини, починаючи з версії 3.0.1, ми більше не використовуємо max-width
на .container
s.
IE8 має певні проблеми @font-face
при поєднанні з :before
. Bootstrap використовує цю комбінацію зі своїми Glyphicons. Якщо сторінка кешується та завантажується без наведення курсора миші на вікно (тобто натискання кнопки оновлення або завантаження чогось у iframe), то сторінка відображається до завантаження шрифту. Наведення курсора на сторінку (тіло) відобразить деякі піктограми, а наведення курсора на решту значків також відобразить їх. Подробиці див. у випуску №13863 .
Bootstrap не підтримується в старих режимах сумісності Internet Explorer. Щоб переконатися, що ви використовуєте найновіший режим візуалізації для IE, спробуйте включити відповідний <meta>
тег на свої сторінки:
Підтвердьте режим документа, відкривши інструменти налагодження: натисніть F12і відзначте «Режим документа».
Цей тег включено до всієї документації та прикладів Bootstrap, щоб забезпечити найкраще відтворення в кожній підтримуваній версії Internet Explorer.
Перегляньте це запитання StackOverflow, щоб отримати додаткові відомості.
Internet Explorer 10 не розрізняє ширину пристрою від ширини вікна перегляду , і тому не правильно застосовує медіа-запити в CSS Bootstrap. Зазвичай ви просто додаєте короткий фрагмент CSS, щоб виправити це:
Однак це не працює для пристроїв під керуванням Windows Phone 8 версій, старіших за оновлення 3 (також відомого як GDR3) , оскільки це призводить до того, що на таких пристроях відображатиметься переважно робочий стіл, а не вузький «телефонний». Щоб вирішити цю проблему, вам потрібно буде включити наведені нижче CSS і JavaScript, щоб вирішити цю помилку .
Щоб отримати додаткові відомості та вказівки щодо використання, прочитайте Windows Phone 8 і Device-Width .
Як попередження, ми включили це в усю документацію та приклади Bootstrap як демонстрацію.
Механізм візуалізації версій Safari до v7.1 для OS X і Safari для iOS v8.0 мав певні проблеми з кількістю десяткових знаків, які використовуються в наших .col-*-1
класах сітки. Отже, якби у вас було 12 окремих стовпців сітки, ви б помітили, що вони виявилися коротшими порівняно з іншими рядками стовпців. Окрім оновлення Safari/iOS, у вас є кілька варіантів обхідних шляхів:
.pull-right
до останнього стовпця сітки, щоб отримати чітке вирівнювання вправоПідтримка overflow: hidden
елемента <body>
досить обмежена в iOS і Android. З цією метою, коли ви прокручуєте верхню або нижню частину модального елемента в будь-якому з браузерів цих пристроїв, <body>
вміст почне прокручуватися. Перегляньте помилку Chrome №175502 (виправлено в Chrome v40) і помилку WebKit №153852 .
Починаючи з iOS 9.3, коли модал відкритий, якщо перший дотик жесту прокручування знаходиться в межах тексту <input>
або <textarea>
, <body>
вміст під модалом прокручуватиметься замість самого модалу. Перегляньте помилку WebKit №153856 .
Також зауважте, що якщо ви використовуєте фіксовану навігаційну панель або використовуєте введення в модальному режимі, iOS має помилку рендерингу, яка не оновлює положення фіксованих елементів під час запуску віртуальної клавіатури. Кілька обхідних шляхів для цього включають перетворення ваших елементів на position: absolute
або виклик таймера у фокусі, щоб спробувати виправити позиціонування вручну. Це не обробляється Bootstrap, тому вам вирішувати, яке рішення найкраще підходить для вашої програми.
Елемент .dropdown-backdrop
не використовується в iOS у навігації через складність z-індексування. Таким чином, щоб закрити розкривні списки на навігаційних панелях, ви повинні безпосередньо клацнути спадний елемент (або будь-який інший елемент, який ініціює подію клацання в iOS ).
Масштабування сторінки неминуче створює артефакти візуалізації в деяких компонентах, як у Bootstrap, так і в решті Інтернету. Залежно від проблеми ми можемо її вирішити (спочатку здійсніть пошук, а потім за потреби відкрийте проблему). Однак ми схильні ігнорувати їх, оскільки вони часто не мають прямого рішення, окрім хакерських обхідних шляхів.
:hover
/ :focus
на мобільномуНезважаючи на те, що справжнє наведення неможливе на більшості сенсорних екранів, більшість мобільних браузерів емулюють підтримку наведення та роблять :hover
«липким». Іншими словами, :hover
стилі починають застосовуватися після торкання елемента і припиняють застосовуватися лише після того, як користувач торкається іншого елемента. Це може спричинити небажане «зависання» станів Bootstrap у :hover
таких браузерах. Деякі мобільні браузери також роблять :focus
так само липким. Наразі немає простого вирішення цих проблем, крім повного видалення таких стилів.
Навіть у деяких сучасних браузерах друк може бути дивним.
Зокрема, починаючи з Chrome v32 і незалежно від налаштувань полів, Chrome використовує ширину вікна перегляду, значно вужчу за фізичний розмір паперу, під час вирішення медіа-запитів під час друку веб-сторінки. Це може призвести до неочікуваної активації надзвичайно дрібної сітки Bootstrap під час друку. Перегляньте проблему №12078 і помилку Chrome №273306, щоб отримати деякі відомості. Запропоновані обхідні шляхи:
@screen-*
змінних Less так, щоб ваш папір для принтера вважався більшим за дуже малий.Крім того, починаючи з Safari версії 8.0, s фіксованої ширини .container
може спричинити використання Safari надзвичайно малого розміру шрифту під час друку. Дивіться #14868 і помилку WebKit #138192 для отримання додаткової інформації. Одним із потенційних способів вирішення цієї проблеми є додавання наступного CSS:
З коробки Android 4.1 (і навіть деякі новіші випуски, мабуть) постачаються з програмою Браузер як веб-браузером за замовчуванням (на відміну від Chrome). На жаль, програма Browser має багато помилок і невідповідностей із CSS загалом.
На <select>
елементах стандартний браузер Android не відображатиме бічні елементи керування, якщо застосовано border-radius
та/або border
. (Докладніше див. у цьому питанні StackOverflow .) Скористайтеся фрагментом коду нижче, щоб видалити образливий CSS і відобразити <select>
елемент як елемент без стилю в стандартному веб-переглядачі Android. Сніффінг агента користувача дозволяє уникнути перешкод у браузерах Chrome, Safari та Mozilla.
Хочете побачити приклад? Перегляньте цю демонстрацію JS Bin.
Для того, щоб забезпечити найкращу роботу старих браузерів із помилками, Bootstrap використовує хаки браузерів CSS у кількох місцях, щоб націлити спеціальний CSS на певні версії веб-переглядачів, щоб обійти помилки в самих браузерах. Зрозуміло, що ці хаки змушують валідатори CSS скаржитися, що вони недійсні. У кількох місцях ми також використовуємо новітні функції CSS, які ще не повністю стандартизовані, але вони використовуються виключно для прогресивного вдосконалення.
Ці попередження перевірки не мають значення на практиці, оскільки нехакерська частина нашого CSS виконує повну перевірку, а зламані частини не заважають належному функціонуванню нехакерської частини, тому ми навмисно ігноруємо ці конкретні попередження.
Наші HTML-документи також містять деякі тривіальні та несуттєві попередження про перевірку HTML через те, що ми включили обхідний шлях для певної помилки Firefox .
Хоча ми офіційно не підтримуємо сторонні плагіни чи доповнення, ми пропонуємо кілька корисних порад, які допоможуть уникнути потенційних проблем у ваших проектах.
Деяке програмне забезпечення сторонніх розробників, зокрема Google Maps і Google Custom Search Engine, конфліктує з Bootstrap через * { box-sizing: border-box; }
, правило, яке padding
не впливає на кінцеву обчислену ширину елемента. Дізнайтеся більше про модель коробки та розміри на CSS Tricks .
Залежно від контексту ви можете замінити за потреби (Варіант 1) або скинути розмір поля для цілих регіонів (Варіант 2).
Bootstrap відповідає загальним веб-стандартам і — з мінімальними додатковими зусиллями — може використовуватися для створення сайтів, доступних для тих, хто використовує AT .
Якщо ваша навігація містить багато посилань і розташована перед основним вмістом у DOM, додайте Skip to main content
посилання перед навігацією (для простого пояснення перегляньте цю статтю проекту A11Y про пропуск навігаційних посилань ). Використання .sr-only
класу візуально приховає посилання пропуску, а .sr-only-focusable
клас гарантує, що посилання стане видимим після фокусування (для зрячих користувачів клавіатури).
Через давні недоліки/помилки в Chrome (див. проблему 262171 у програмі відстеження помилок Chromium ) і Internet Explorer (див. цю статтю про посилання на сторінці та порядок фокусування ), вам потрібно буде переконатися, що ціль вашого посилання для пропуску можна принаймні програмно сфокусувати, додавши tabindex="-1"
.
Крім того, ви можете явно заблокувати видиму індикацію фокусу на цілі (зокрема, оскільки Chrome наразі також встановлює фокус на елементах, tabindex="-1"
коли їх клацають мишею) за допомогою #content:focus { outline: none; }
.
Зауважте, що ця помилка також вплине на будь-які інші посилання на сторінці, які може використовувати ваш сайт, зробивши їх марними для користувачів клавіатури. Ви можете розглянути можливість додавання подібного виправлення затримки до всіх інших іменованих прив’язок/ідентифікаторів фрагментів, які діють як цілі посилань.
Під час вкладення заголовків ( <h1>
- <h6>
) основний заголовок документа має бути <h1>
. Подальші заголовки мають використовуватися логічно <h2>
, <h6>
щоб програми зчитування з екрана могли створити зміст ваших сторінок.
Дізнайтеся більше на HTML CodeSniffer і AccessAbility від Penn State .
Наразі деякі комбінації кольорів за замовчуванням, доступні в Bootstrap (наприклад, різні стилізовані класи кнопок, деякі кольори підсвічування коду, що використовуються для базових блоків коду , допоміжний клас .bg-primary
контекстного фону та колір посилання за замовчуванням при використанні на білому тлі) мають низький коефіцієнт контрастності (нижче рекомендованого співвідношення 4,5:1 ). Це може спричинити проблеми користувачам із слабким зором або дальтоніком. Ці кольори за замовчуванням може знадобитися змінити, щоб підвищити їх контрастність і розбірливість.
Bootstrap випущено за ліцензією MIT і захищено авторським правом Twitter 2019. Зводячись до менших шматків, це можна описати за такими умовами.
Повну ліцензію Bootstrap можна знайти в репозиторії проекту для отримання додаткової інформації.
Члени спільноти переклали документацію Bootstrap різними мовами. Жоден не підтримується офіційно, і вони не завжди можуть бути актуальними.
Ми не допомагаємо організовувати чи розміщувати переклади, ми лише посилаємося на них.
Закінчили новий чи кращий переклад? Відкрийте запит на отримання, щоб додати його до нашого списку.