Начало работы
Обзор Bootstrap, как скачать и использовать, базовые шаблоны и примеры, и многое другое.
Обзор Bootstrap, как скачать и использовать, базовые шаблоны и примеры, и многое другое.
Bootstrap (в настоящее время v3.3.7) имеет несколько простых способов быстрого начала работы, каждый из которых призван удовлетворить разные уровни навыков и потребности. Прочитайте, чтобы узнать, что подходит для ваших конкретных нужд.
Компилированные и минимизированные CSS, JavaScript и шрифты. Документация и исходные файлы не включены.
Файлы Less, JavaScript и шрифты, а также наша документация. Требуется компилятор Less и некоторые настройки.
Bootstrap, портированный из Less в Sass для легкого включения в Rails, Compass или проекты, использующие только Sass.
Люди из MaxCDN с благодарностью предоставляют поддержку CDN для CSS и JavaScript Bootstrap. Просто используйте эти Bootstrap CDN ссылки.
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
Вы также можете установить и управлять Bootstrap's Less, CSS, JavaScript и шрифтами с помощью Bower:
$ bower install bootstrap
Вы также можете установить Bootstrap с помощью npm:
$ npm install bootstrap@3
require('bootstrap')
загрузит все jQuery плагины Bootstrap на объект jQuery. Сам модуль bootstrap
не экспортирует ничего. Вы можете загрузить jQuery плагины Bootstrap индивидуально, загрузив файлы /js/*.js
под директорией пакета.
Bootstrap's package.json
содержит некоторые дополнительные метаданные по следующим ключам:
less
- путь к основному файлу Less Bootstrapstyle
- путь к неминифицированному CSS Bootstrap, которое было предварительно скомпилировано с использованием стандартных настроек (без настройки)Вы также можете установить и управлять Bootstrap's Less, CSS, JavaScript и шрифтами с помощью Composer:
$ composer require twbs/bootstrap
Bootstrap использует Autoprefixer для обработки CSS префиксов. Если вы компилируете Bootstrap из его исходного Less/Sass и не используете наш Gruntfile, вам нужно будет интегрировать Autoprefixer в свой процесс сборки. Если вы используете предварительно скомпилированный Bootstrap или наш Gruntfile, вам не нужно беспокоиться об этом, так как Autoprefixer уже интегрирован в наш Gruntfile.
Bootstrap доступен для скачивания в двух формах, в которых вы найдете следующие директории и файлы, логически группируя общие ресурсы и предоставляя как скомпилированные, так и минимизированные варианты.
Пожалуйста, обратите внимание, что все JavaScript плагины требуют jQuery для включения, как показано в шаблоне запуска. Обратитесь к нам в bower.json
, чтобы узнать, какие версии jQuery поддерживаются.
После скачивания распакуйте сжатую папку, чтобы увидеть структуру (скомпилированного) Bootstrap. Вы увидите что-то вроде этого:
bootstrap/
├── css/
│ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css
│ ├── bootstrap.min.css.map
│ ├── bootstrap-theme.css
│ ├── bootstrap-theme.css.map
│ ├── bootstrap-theme.min.css
│ └── bootstrap-theme.min.css.map
├── js/
│ ├── bootstrap.js
│ └── bootstrap.min.js
└── fonts/
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
Это самый базовый вид Bootstrap: скомпилированные файлы для быстрого использования в почти любом веб-проекте. Мы предоставляем скомпилированные CSS и JS (bootstrap.*
), а также скомпилированные и минимизированные CSS и JS (bootstrap.min.*
). CSS источники карт (bootstrap.*.map
) доступны для использования с инструментами разработчика определенных браузеров. Шрифты от Glyphicons включены, а также опциональная тема Bootstrap.
Исходный код загрузки Bootstrap включает предварительно скомпилированные CSS, JavaScript и ассеты шрифтов, а также исходные Less, JavaScript и документацию. Более конкретно, он включает следующее и многое другое:
bootstrap/
├── less/
├── js/
├── fonts/
├── dist/
│ ├── css/
│ ├── js/
│ └── fonts/
└── docs/
└── examples/
Папка 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 тесты в headless режиме в PhantomJS.
grunt docs
(Сборка и тестирование документации)Сборка и тестирование CSS, JavaScript и других активов, которые используются при локальном запуске документации через bundle exec jekyll serve
.
grunt
(Сборка абсолютно всего и запуск тестов)Компилирует и минифицирует CSS и JavaScript, собирает веб-сайт документации, запускает HTML5 валидатор для документов, перегенерирует активы Customizer и многое другое. Требует Jekyll. Обычно необходимо только если вы модифицируете Bootstrap напрямую.
Если вы столкнетесь с проблемами при установке зависимостей или запуске команд Grunt, сначала удалите директорию /node_modules/
, сгенерированную npm. Затем, запустите npm install
снова.
Начните с этого базового HTML шаблона, или модифицируйте эти примеры. Мы надеемся, что вы настроите наши шаблоны и примеры, адаптируя их к вашим потребностям.
Скопируйте HTML ниже, чтобы начать работу с минимальным документом Bootstrap.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Bootstrap 101 Template</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<h1>Привет, мир!</h1>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>
Создавайте страницы, используя базовый шаблон Bootstrap, и добавляйте компоненты Bootstrap для создания уникального дизайна.
Получите исходный код для каждого примера ниже, скачав репозиторий Bootstrap. Примеры находятся в директории docs/examples/
.
Очень простой шаблон, включающий навигационную панель вместе с некоторым дополнительным содержимым.
Базовая структура для административной панели с фиксированной боковой панелью и навигационной панелью.
Создайте кастомную навигационную панель с обоснованными ссылками. Внимание! Не очень дружелюбно к Safari.
Bootlint является официальным инструментом проверки HTML Bootstrap 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;
Убедитесь, что это происходит после стандартного CSS Bootstrap. Вы можете опционально избежать !important
с помощью медиа-запросов или некоторых селекторов..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 | 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 |
Не поддерживается | Поддерживается, с префиксом -ms |
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
s.
IE8 имеет некоторые проблемы с @font-face
при комбинации с :before
. Bootstrap использует эту комбинацию с его Glyphicons. Если страница кэшируется, и загружается без наведения мыши над окном (т.е. нажмите кнопку обновления или загрузите что-то в iframe), то страница отображается до загрузки шрифта. Наведение мышью над страницей (тело) покажет некоторые из икон, а наведение мышью над оставшимися иконками покажет их. См. проблему #13863 для деталей.
Bootstrap не поддерживается в старых режимах совместимости Internet Explorer. Чтобы убедиться, что вы используете последний режим рендеринга для IE, рассмотрите включение соответствующего тега <meta>
на ваших страницах:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Подтвердите режим документа: откройте инструменты отладки: нажмите F12 и проверьте "Режим документа".
Этот тег включен во все документы Bootstrap и примеры, чтобы обеспечить наилучшее возможное отображение в каждой поддерживаемой версии Internet Explorer.
См. этот вопрос StackOverflow для дополнительной информации.
Internet Explorer 10 не различает ширину устройства от ширины виртуального окна просмотра, и поэтому не применяет медиа-запросы в CSS Bootstrap корректно. Обычно вам просто нужно добавить небольшой фрагмент CSS для исправления этой ошибки:
@-ms-viewport { width: device-width; }
Однако это не работает для устройств, работающих на Windows Phone 8 версий старше Обновление 3 (a.k.a. GDR3), так как это вызывает такие устройства для отображения в основном десктопном режиме вместо узкого "телефонного" режима. Чтобы решить эту проблему, вам потребуется включить следующий CSS и JavaScript для обхода ошибки.
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }
// Copyright 2014-2015 Twitter, Inc.
// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement('style')
msViewportStyle.appendChild(
document.createTextNode(
'@-ms-viewport{width:auto!important}'
)
)
document.querySelector('head').appendChild(msViewportStyle)
}
Для получения дополнительной информации и руководства по использованию, прочитайте 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 bug #175502 (исправлено в Chrome v40) и WebKit bug #153852.
Начиная с iOS 9.3, когда модальное окно открыто, если первый тач скролла находится в пределах границ текстового <input>
или <textarea>
, содержимое под модальным окном будет прокручиваться вместо самого модального окна. См. WebKit bug #153856.
Кроме того, следует отметить, что если вы используете фиксированную навигационную панель или используете поля ввода в модальном окне, iOS имеет рендеринг ошибку, которая не обновляет положение фиксированных элементов при активации виртуальной клавиатуры. Несколько обходных решений для этого включают преобразование ваших элементов в position: absolute
или вызов таймера на фокус, чтобы попытаться исправить позиционирование вручную. Это не обрабатывается Bootstrap, поэтому вам придется решить, какое решение лучше всего подходит для вашего приложения.
Элемент .dropdown-backdrop
не используется в навигационной панели на iOS из-за сложности z-индексации. Таким образом, чтобы закрыть выпадающие меню в навигационных панелях, вы должны напрямую кликнуть по элементу выпадающего меню (или любом другом элементе, который активирует событие клика в iOS).
Масштабирование страницы неизбежно приводит к артефактам рендеринга в некоторых компонентах, как в Bootstrap, так и в остальной веб-разработке. В зависимости от проблемы мы можем попытаться исправить ее (сначала поищите и, если нужно, откройте проблему). Однако мы склонны игнорировать эти, так как они часто не имеют прямого решения, кроме как хакерских обходных решений.
:hover
/:focus
на мобильных устройствахХотя настоящее наведение на большинстве сенсорных экранов невозможно, большинство мобильных браузеров эмулируют поддержку наведения и делают :hover
"фиксированным". Другими словами, :hover
стили начинают применяться после тапа по элементу, и только останавливаются после того, как пользователь тапает по другому элементу. Это может привести к тому, что состояния :hover
Bootstrap становятся нежелательными "застрявшими" на таких браузерах. Некоторые мобильные браузеры также делают :focus
аналогично "фиксированным". На данный момент нет простого обходного решения для этих проблем, кроме как полностью удалить такие стили.
Даже в некоторых современных браузерах печать может быть капризной.
В частности, начиная с Chrome v32 и независимо от настроек полей, Chrome использует значительно более узкую ширину виртуального окна при разрешении медиа-запросов при печати веб-страницы, что может привести к неожиданному активации дополнительной сетки в Bootstrap при печати. См. проблему #12078 и Chrome bug #273306 для некоторых деталей. Предлагаемые обходные пути:
@screen-*
, чтобы считать ваш принтерный лист больше, чем дополнительная сетка.Кроме того, начиная с Safari v8.0, фиксированные ширины .container
могут вызывать удивительно маленький размер шрифта при печати в Safari. См. #14868 и WebKit bug #138192 для более подробной информации. Один потенциальный обход этой проблемы включает следующий CSS:
@media print {
.container {
width: auto;
}
}
Из коробки, Android 4.1 (и даже некоторые более новые выпуски, похоже, поставляются с браузером по умолчанию в качестве веб-браузера выбора (в отличие от Chrome). К сожалению, браузер по умолчанию имеет много багов и несоответствий с CSS в целом.
На <select>
элементах, браузер по умолчанию Android не будет отображать боковые элементы управления, если применены border-radius
и/или border
. (См. этот вопрос StackOverflow для деталей.) Используйте следующий фрагмент кода, чтобы удалить нежелательный CSS и отобразить <select>
как нестилизованный элемент на браузере по умолчанию Android. Пользовательская агентская переопределяет взаимодействие с 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 демо.
Чтобы предоставить лучший возможный опыт для старых и капризных браузеров, Bootstrap использует CSS браузерные хаки в нескольких местах для целевого применения специального CSS к определенным версиям браузеров, чтобы обойти баги в браузерах самих по себе. Эти хаки, естественно, вызывают жалобы валидаторов CSS, что они недействительны. В нескольких местах мы также используем передовые CSS-функции, которые еще не полностью стандартизированы, но они используются исключительно для прогрессивного улучшения.
Эти предупреждения валидации не имеют значения на практике, так как не-хаковый компонент нашего CSS полностью валидируется, а хаковый компонент не мешает работе не-хакового компонента, поэтому мы специально игнорируем эти конкретные предупреждения.
Наши HTML документы также имеют некоторые тривиальные и бессмысленные предупреждения валидации HTML из-за включения обходного пути для определенной ошибки Firefox.
Хотя мы официально не поддерживаем никакие сторонние плагины или дополнения, мы предлагаем несколько полезных советов, которые помогут избежать потенциальных проблем в ваших проектах.
Некоторые сторонние программы, включая Google Maps и Google Custom Search Engine, конфликтуют с Bootstrap из-за * { box-sizing: border-box; }
, правила, которое делает так, что padding
не влияет на конечную вычисленную ширину элемента. Узнайте больше о модели коробки и размере на CSS Tricks.
В зависимости от контекста, вы можете переопределить по мере необходимости (Опция 1) или сбросить box-sizing для всех регионов (Опция 2).
/* Box-sizing resets
*
* Reset individual elements or override regions to avoid conflicts due to
* global box model settings of Bootstrap. Two options, individual overrides and
* region resets, are available as plain CSS and uncompiled Less formats.
*/
/* Option 1A: Override a single element's box model via CSS */
.element {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
/* Option 1B: Override a single element's box model by using a Bootstrap Less mixin */
.element {
.box-sizing(content-box);
}
/* Option 2A: Reset an entire region via CSS */
.reset-box-sizing,
.reset-box-sizing *,
.reset-box-sizing *:before,
.reset-box-sizing *:after {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
/* Option 2B: Reset an entire region with a custom Less mixin */
.reset-box-sizing {
&,
*,
*:before,
*:after {
.box-sizing(content-box);
}
}
.element {
.reset-box-sizing();
}
Bootstrap следует общепринятым веб-стандартам и — с минимальными дополнительными усилиями — может использоваться для создания сайтов, доступных для пользователей ВТ.
Если ваша навигация содержит много ссылок и располагается перед основным контентом в DOM, добавьте ссылку Перейти к основному содержимому
перед навигацией (подробнее см. статью A11Y Project о ссылках для пропуска навигации). Использование класса .sr-only
скроет ссылку визуально, а класс .sr-only-focusable
обеспечит её видимость при фокусе (для пользователей клавиатуры).
Из-за давних недостатков/ошибок в Chrome (см. issue 262171 в Chromium bug tracker) и Internet Explorer (см. статью о внутренних ссылках и порядке фокуса), необходимо убедиться, что цель вашей ссылки для пропуска навигации программно доступна для фокуса, добавив tabindex="-1"
.
Кроме того, возможно, потребуется явно скрыть видимый индикатор фокуса на цели (особенно, так как Chrome также устанавливает фокус на элементы с tabindex="-1"
при клике мышью), используя #content:focus { outline: none; }
.
Обратите внимание, что эта ошибка также затрагивает любые другие внутренние ссылки на вашем сайте, делая их бесполезными для пользователей клавиатуры. Рассмотрите возможность применения аналогичного временного решения ко всем другим именованным якорям / идентификаторам фрагментов, которые используются как цели ссылок.
<body>
<a href="#content" class="sr-only sr-only-focusable">Перейти к основному содержимому</a>
...
<div class="container" id="content" tabindex="-1">
<!-- Основное содержимое страницы -->
</div>
</body>
При вложении заголовков (<h1>
- <h6>
) основной заголовок документа должен быть <h1>
. Последующие заголовки должны логически использовать <h2>
- <h6>
, чтобы скринридеры могли построить оглавление для ваших страниц.
Подробнее: HTML CodeSniffer и AccessAbility от Penn State.
В настоящее время некоторые стандартные цветовые сочетания в Bootstrap (например, различные стили кнопок, некоторые цвета подсветки кода для базовых блоков кода, вспомогательный класс .bg-primary
для контекстного фона и цвет ссылок по умолчанию на белом фоне) имеют низкий коэффициент контрастности (ниже рекомендуемого значения 4.5:1). Это может создавать проблемы для пользователей с нарушением зрения или дальтонизмом. Эти цвета по умолчанию, возможно, потребуется изменить для повышения контрастности и читаемости.
Bootstrap выпущена под лицензией MIT и является авторским правом 2025 Twitter. Упрощенно она может быть описана следующими условиями.
Полный лицензионный договор Bootstrap находится в репозитории проекта для получения дополнительной информации.
Сообщества перевели документацию Bootstrap на различные языки. Ни один из них не является официально поддерживаемым, и они могут не всегда быть актуальными.
Мы не помогаем организовывать или размещать переводы, мы просто ссылаемся на них.
Завершил новый или более качественный перевод? Откройте запрос на изменение, чтобы добавить его в наш список.