Начало работы
Обзор Bootstrap, способы загрузки и использования, основные шаблоны и примеры и многое другое.
Обзор Bootstrap, способы загрузки и использования, основные шаблоны и примеры и многое другое.
Bootstrap (в настоящее время v3.4.1) имеет несколько простых способов быстро начать работу, каждый из которых подходит для разных уровней навыков и вариантов использования. Прочтите, чтобы узнать, что подходит именно вам.
Скомпилированный и минимизированный CSS, JavaScript и шрифты. Никакие документы или исходные файлы не включены.
Исходный код Less, JavaScript и файлы шрифтов вместе с нашей документацией. Требуется Less компилятор и некоторая настройка.
Bootstrap перенесен с Less на Sass для легкого включения в проекты Rails, Compass или только Sass.
Ребята из StackPath любезно предоставляют поддержку CDN для CSS и JavaScript Bootstrap. Просто воспользуйтесь этими ссылками BootstrapCDN.
Вы также можете установить и управлять Bootstrap Less, CSS, JavaScript и шрифтами, используя Bower:
Вы также можете установить Bootstrap, используя npm:
require('bootstrap')
загрузит все плагины jQuery Bootstrap в объект jQuery. Сам модуль bootstrap
ничего не экспортирует. Вы можете вручную загрузить подключаемые модули jQuery для Bootstrap по отдельности, загрузив файлы /js/*.js
в каталог верхнего уровня пакета.
Bootstrap's package.json
содержит некоторые дополнительные метаданные под следующими ключами:
less
- путь к основному исходному файлу Bootstrap Lessstyle
- путь к неминифицированному CSS Bootstrap, который был предварительно скомпилирован с использованием настроек по умолчанию (без настройки)Вы также можете установить и управлять Bootstrap Less, CSS, JavaScript и шрифтами, используя Composer:
Bootstrap использует Автопрефиксер для работы префиксы поставщиков 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 packaged modules и представляет собой способ управления зависимостями разработки через 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 для документов, восстанавливает ресурсы настройщика и т. д. Требуется Jekyll. Обычно это необходимо, только если вы взламываете сам Bootstrap.
Если у вас возникнут проблемы с установкой зависимостей или запуском команд Grunt, сначала удалите каталог /node_modules/
, созданный npm. Затем повторно запустите npm install
.
Начните с этого базового HTML-шаблона или измените эти примеры. Мы надеемся, что вы настроите наши шаблоны и примеры, адаптируя их под свои нужды.
Скопируйте приведенный ниже HTML-код, чтобы начать работу с минимальным документом Bootstrap.
Создавайте базовый шаблон, описанный выше, с множеством компонентов Bootstrap. Мы рекомендуем вам настроить и адаптировать Bootstrap в соответствии с потребностями вашего индивидуального проекта.
Получите исходный код для каждого примера ниже, загрузив репозиторий Bootstrap. Примеры можно найти в каталоге docs/examples/
.
Супер базовый шаблон, который включает панель навигации вместе с некоторым дополнительным контентом.
Базовая структура панели администратора с фиксированной боковой панелью и панелью навигации.
Создайте настраиваемую навигационную панель с выровненными ссылками. Берегись! Не слишком дружелюбен к Safari.
Легко отключить отзывчивость Bootstrap в соответствии с нашей документацией.
Bootlint - официальный Bootstrap HTML инструмент linter. Он автоматически проверяет несколько распространенных ошибок 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;
Убедитесь, что что это происходит после стандартного Bootstrap CSS. При желании вы можете избежать !important
с помощью медиа-запросов или какого-нибудь селектора..col-xs-*
в дополнение или вместо средних/больших. Не волнуйтесь, очень маленькая сетка устройства масштабируется для всех разрешений.Вам по-прежнему понадобится Respond.js для IE8 (поскольку наши медиа-запросы все еще существуют и должны быть обработаны). Это отключает аспекты "мобильного сайта" в Bootstrap.
Мы применили эти шаги к примеру. Прочтите его исходный код, чтобы увидеть конкретные внесенные изменения.
Хотите перейти со старой версии Bootstrap на v3.x? Ознакомьтесь с нашим руководством по миграции.
Bootstrap лучше всего работает в новейших настольных и мобильных браузерах, а это означает, что старые браузеры могут отображать определенные компоненты в другом стиле, хотя и полностью функциональны.
В частности, мы поддерживаем последние версии следующих браузеров и платформ.
Альтернативные браузеры, которые используют последнюю версию WebKit, Blink или Gecko, напрямую или через API веб-представления платформы, явно не поддерживаются. Однако Bootstrap должен (в большинстве случаев) правильно отображаться и работать в этих браузерах. Более конкретная информация о поддержке представлена ниже.
Вообще говоря, Bootstrap поддерживает последние версии браузеров по умолчанию для каждой основной платформы. Обратите внимание, что прокси-браузеры (такие как Opera Mini, режим Opera Mobile Turbo, UC Browser Mini, Amazon Silk) не поддерживаются.
Chrome | Firefox | Safari | |
---|---|---|---|
Android | Поддерживается | Поддерживается | N/A |
iOS | Поддерживается | Поддерживается | Поддерживается |
Точно так же поддерживаются последние версии большинства настольных браузеров.
Chrome | Firefox | Internet Explorer | Opera | Safari | |
---|---|---|---|---|---|
Mac | Поддерживается | Поддерживается | N/A | Поддерживается | Поддерживается |
Windows | Поддерживается | Поддерживается | Поддерживается | Поддерживается | Не поддерживается |
В Windows, мы поддерживаем Internet Explorer 8-11.
Для Firefox, помимо последней нормальной стабильной версии, мы также поддерживаем последнюю расширенную версию поддержки (ESR) Firefox.
Неофициально 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 |
Не поддерживается | Supported, with -ms prefix |
transition |
Не поддерживается | |
placeholder |
Не поддерживается |
Посетите Can I use... для получения подробной информации о поддержке браузером функций 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
. По этой причине, начиная с версии v3.0.1, мы больше не используем max-width
в .container
.
IE8 имеет некоторые проблемы с @font-face
в сочетании с :before
. Bootstrap использует эту комбинацию со своими Glyphicons. Если страница кэшируется и загружается без наведения указателя мыши на окно (т. е. Нажимает кнопку обновления или загружает что-либо в iframe), то страница отображается до загрузки шрифта. При наведении указателя мыши на страницу (тело) отображаются некоторые значки, а при наведении курсора на остальные значки также отображаются их. Подробнее смотрите в #13863.
Bootstrap не поддерживается в старых режимах совместимости Internet Explorer. Чтобы убедиться, что вы используете последний режим рендеринга для IE, рассмотрите возможность включения на свои страницы соответствующего тега <meta>
:
Подтвердите режим документа, открыв инструменты отладки: нажмите F12 anи проверьте "Document Mode".
Этот тег включен во всю документацию и примеры 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 при печати. Смотрите issue #12078 и ошибка Chrome #273306 для некоторых деталей. Предлагаемые обходные пути:
@screen-*
Less, чтобы бумага для принтера считалась больше, чем очень маленькая.Кроме того, начиная с Safari v8.0 .container
фиксированной ширины может привести к тому, что Safari будет использовать необычно маленький размер шрифта при печати. Смотрите #14868 и ошибка WebKit #138192, чтобы получить дополнительные сведения. Одним из возможных способов решения этой проблемы является добавление следующего CSS:
По умолчанию Android 4.1 (и даже некоторые более новые версии) поставляются с приложением Browser в качестве предпочтительного веб-браузера по умолчанию (в отличие от Chrome). К сожалению, в приложении "Браузер" много ошибок и несоответствий с CSS в целом.
В элементах <select>
, стандартный браузер Android не будет отображать боковые элементы управления, если применены border-radius
и/илиr border
. (Смотрите вопрос StackOverflow для деталей.) Используйте приведенный ниже фрагмент кода, чтобы удалить неправильный CSS и отобразить <select>
как элемент без стиля в стандартном браузере Android. Обнюхивание пользовательского агента позволяет избежать вмешательства в браузеры Chrome, Safari и Mozilla.
Хотите увидеть пример? Посмотрите эту демонстрацию JS Bin.
Чтобы обеспечить максимальное удобство работы старых браузеров и браузеров с ошибками, Bootstrap использует браузерные хаки CSS в нескольких местах для нацеливания специального CSS на определенные версии браузера, чтобы для работы с ошибками в самих браузерах. Эти хаки по понятным причинам заставляют валидаторов CSS жаловаться на их недействительность. В некоторых случаях мы также используем передовые функции CSS, которые еще не полностью стандартизированы, но используются исключительно для прогрессивного улучшения.
Эти предупреждения валидации не имеют значения на практике, так как не-хакерская часть нашего CSS действительно полностью валидирует, а хакерские части не мешают правильному функционированию не-хакерской части, поэтому мы сознательно игнорируем эти конкретные предупреждения.
В наших документах HTML также есть несколько тривиальных и несущественных предупреждений проверки HTML из-за того, что мы включили обходной путь для определенной ошибки Firefox.
Хотя мы официально не поддерживаем сторонние плагины или надстройки, мы предлагаем несколько полезных советов, которые помогут избежать потенциальных проблем в ваших проектах.
Некоторое стороннее программное обеспечение, включая Карты Google и Систему пользовательского поиска Google, конфликтует с Bootstrap из-за * { box-sizing: border-box; }
, правило, согласно которому padding
не влияет на окончательную вычисленную ширину элемента. Узнайте больше о блочной модели и ее размерах на сайте CSS Tricks.
В зависимости от контекста вы можете изменить размер блока по мере необходимости (вариант 1) или сбросить размер блока для целых регионов (вариант 2).
Bootstrap соответствует общим веб-стандартам и с минимальными дополнительными усилиями может использоваться для создания сайтов, доступных для тех, кто использует AT.
Если ваша навигация содержит много ссылок и находится перед основным контентом в DOM, добавьте ссылку Перейти к основному контенту
перед навигацией (простое объяснение смотрите в этом Статья проекта A11Y о пропуске навигационных ссылок). Использование класса .sr-only
визуально скроет ссылку пропуска, а класс .sr-only-focusable
гарантирует, что ссылка станет видимой после фокусировки (для зрячей клавиатуры пользователей).
Из-за давних недостатков/ошибок в Chrome (смотрите issue 262171 в средстве отслеживания ошибок Chromium) и Internet Explorer (смотрите статью на внутристраничные ссылки и порядок фокуса), вам нужно будет убедиться, что цель вашей пропущенной ссылки имеет хотя бы программную фокусировку, добавив tabindex="-1"
.
Кроме того, вы можете явно подавить видимую индикацию фокуса на цели (особенно потому, что Chrome в настоящее время также устанавливает фокус на элементы с помощью tabindex="-1"
, когда они щелкают мышью. ) с #content:focus { outline: none; }
.
Обратите внимание, что эта ошибка также затронет любые другие ссылки на странице, которые могут использоваться на вашем сайте, что сделает их бесполезными для пользователей клавиатуры. Вы можете рассмотреть возможность добавления аналогичного временного исправления ко всем другим именованным идентификаторам привязок/фрагментов, которые действуют как цели ссылки.
При вложении заголовков (<h1>
- <h6>
), ваш основной заголовок документа должен быть <h1>
. В последующих заголовках следует логически использовать <h2>
- <h6>
, чтобы программы чтения с экрана могли создавать оглавление для ваших страниц.
Дополнительные сведения смотрите на сайтах HTML CodeSniffer and Доступность штата Пенсильвания.
В настоящее время некоторые из цветовых комбинаций по умолчанию, доступных в Bootstrap (например, различные классы стилизованных кнопок, часть кода цвета выделения, используемые для базовых блоков кода, .bg-primary
контекстный фон вспомогательный класс и цвет ссылки по умолчанию при использовании на белом фоне) имеют низкий коэффициент контрастности (ниже рекомендуемое соотношение 4.5:1). Это может вызвать проблемы у пользователей с плохим зрением или дальтоников. Эти цвета по умолчанию, возможно, придется изменить, чтобы увеличить их контраст и четкость.
Bootstrap выпущен под лицензией MIT и защищен авторским правом 2021 Twitter. Сводя к более мелким кускам, его можно описать следующими условиями.
Полная лицензия Bootstrap находится в репозитории проекта для получения дополнительной информации.
Члены сообщества перевели документацию Bootstrap на разные языки. Ни один из них официально не поддерживается, и они не всегда могут быть актуальными.
Мы не помогаем организовывать или размещать переводы, мы просто даем ссылки на них.
Вы выполнили новый или лучший перевод? Откройте pull request, чтобы добавить его в наш список.