Spec-Zone.ru › Bootstrap 3

Компоненты

Более дюжины переиспользуемых компонентов, созданных для предоставления иконографии, выпадающих списков, групп ввода, навигации, сообщений об ошибках и многое другое.

Иконки Glyphicons

Доступные глифы

Включает более 250 глифов в формате шрифтов из набора Glyphicon Halflings. Глифы Halflings обычно не доступны бесплатно, но их создатель предоставил их для Bootstrap бесплатно. В знак благодарности мы просим вас, по возможности, включать ссылку на Glyphicons.

Открыть пример на getbootstrap.com

Как использовать

По причинам производительности, все иконки требуют базового класса и индивидуального класса иконки. Для использования поместите следующий код практически куда угодно. Убедитесь, что между иконкой и текстом есть пробел для правильного отступа.

Не смешивайте с другими компонентами

Классы иконок не могут быть напрямую объединены с другими компонентами. Они не должны использоваться вместе с другими классами в одном элементе. Вместо этого добавьте вложенный <span> и примените классы иконок к <span>.

Используйте только в пустых элементах

Классы иконок должны использоваться только в элементах, не содержащих текстового контента и не имеющих дочерних элементов.

Изменение расположения шрифта иконок

Bootstrap предполагает, что файлы шрифтов иконок будут находиться в каталоге ../fonts/, относительно скомпилированных файлов CSS. Перемещение или переименование этих файлов шрифтов означает обновление CSS одним из трех способов:

  • Изменить переменные @icon-font-path и/или @icon-font-name в исходных файлах Less.
  • Использовать опцию относительных URL-адресов, предоставляемую компилятором Less.
  • Изменить пути url() в скомпилированных файлах CSS.

Используйте тот вариант, который лучше всего подходит для вашей конкретной среды разработки.

Доступные иконки

Современные версии вспомогательных технологий будут объявлять сгенерированный CSS контент, а также конкретные символы Юникода. Чтобы избежать непреднамеренных и непонятных выводов в программах чтения с экрана (особенно когда иконки используются только для декорации), мы скрываем их с помощью атрибута aria-hidden="true".

Если вы используете иконку для передачи смысла (а не только как декоративный элемент), убедитесь, что этот смысл также передается вспомогательным технологиям — например, включите дополнительный контент, визуально скрытый с помощью класса .sr-only.

Если вы создаете элементы управления без другого текста (например, <button>, содержащие только иконку), вы всегда должны предоставлять альтернативный контент для определения назначения элемента управления, чтобы он был понятен пользователям вспомогательных технологий. В этом случае вы можете добавить атрибут aria-label на сам элемент управления.

<span class="glyphicon glyphicon-search" aria-hidden="true"></span>

Примеры

Используйте их в кнопках, группах кнопок для панели инструментов, навигации или в качестве префиксов для элементов ввода форм.

Открыть пример на getbootstrap.com
<button type="button" class="btn btn-default" aria-label="Left Align">
  <span class="glyphicon glyphicon-align-left" aria-hidden="true"></span>
</button>

<button type="button" class="btn btn-default btn-lg">
  <span class="glyphicon glyphicon-star" aria-hidden="true"></span> Star
</button>

Иконка, используемая в сообщении об ошибке, чтобы показать, что это сообщение об ошибке, с дополнительным .sr-only текстом, чтобы передать этот намек пользователям вспомогательных технологий.

Открыть пример на getbootstrap.com
<div class="alert alert-danger" role="alert">
  <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
  <span class="sr-only">Error:</span>
  Enter a valid email address
</div>

Выпадающие списки

Переключаемые контекстные меню для отображения списков ссылок. Сделаны интерактивными с помощью плагина выпадающих списков JavaScript.

Пример

Оберните триггер выпадающего списка и меню выпадающего списка в .dropdown, или другой элемент, объявляющий position: relative;. Затем добавьте HTML меню.

Открыть пример на getbootstrap.com
<div class="dropdown">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
    Dropdown
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li role="separator" class="divider"></li>
    <li><a href="#">Separated link</a></li>
  </ul>
</div>

Меню выпадающего списка можно изменить, чтобы оно раскрывалось вверх (вместо вниз), добавив .dropup к родительскому элементу.

Открыть пример на getbootstrap.com
<div class="dropup">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropup
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li role="separator" class="divider"></li>
    <li><a href="#">Separated link</a></li>
  </ul>
</div>

Выравнивание

По умолчанию меню выпадающего списка автоматически позиционируется на 100% сверху и слева от его родительского элемента. Добавьте .dropdown-menu-right к .dropdown-menu , чтобы выровнять меню выпадающего списка вправо.

Возможно, потребуется дополнительное позиционирование

Выпадающие списки автоматически позиционируются с помощью CSS в рамках обычного потока документа. Это означает, что выпадающие списки могут быть обрезаны родителями с определенными свойствами overflow или отображаться за пределами области просмотра. Решайте эти проблемы самостоятельно по мере возникновения.

Устаревшее выравнивание .pull-right

Начиная с версии 3.1.0, мы устарели .pull-right в меню выпадающего списка. Чтобы выровнять меню вправо, используйте .dropdown-menu-right. Выровненные вправо компоненты навигации в навигационной панели используют смешанный вариант этого класса для автоматического выравнивания меню. Чтобы переопределить его, используйте .dropdown-menu-left.

<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dLabel">
  ...
</ul>

Заголовки

Добавьте заголовок для маркировки разделов действий в любом меню выпадающего списка.

Открыть пример на getbootstrap.com
<ul class="dropdown-menu" aria-labelledby="dropdownMenu3">
  ...
  <li class="dropdown-header">Dropdown header</li>
  ...
</ul>

Разделитель

Добавьте разделитель для разделения наборов ссылок в меню выпадающего списка.

Открыть пример на getbootstrap.com
<ul class="dropdown-menu" aria-labelledby="dropdownMenuDivider">
  ...
  <li role="separator" class="divider"></li>
  ...
</ul>

Отключенные пункты меню

Добавьте .disabled к <li> в выпадающем списке, чтобы отключить ссылку.

Открыть пример на getbootstrap.com
<ul class="dropdown-menu" aria-labelledby="dropdownMenu4">
  <li><a href="#">Regular link</a></li>
  <li class="disabled"><a href="#">Disabled link</a></li>
  <li><a href="#">Another link</a></li>
</ul>

Группы кнопок

Сгруппируйте ряд кнопок вместе на одной строке с группой кнопок. Добавьте необязательное поведение в стиле JavaScript для радиокнопок и флажков с помощью плагина кнопок.

Подсказки и всплывающие подсказки в группах кнопок требуют специальной настройки

При использовании подсказок или всплывающих подсказок на элементах в группе кнопок вам необходимо указать параметр container: 'body', чтобы избежать нежелательных побочных эффектов (например, элемент может расширяться и/или терять свои закругленные углы при активации подсказки или всплывающей подсказки).

Обеспечьте правильную role и предоставьте метку

Для того, чтобы вспомогательные технологии, такие как программы чтения с экрана, могли понять, что ряд кнопок сгруппирован, необходимо указать соответствующий атрибут role. Для групп кнопок это будет role="group", в то время как для панелей инструментов должен быть role="toolbar".

Исключение составляют группы, которые содержат только один элемент управления (например, выровненные группы кнопок с <button> элементами) или выпадающий список.

Кроме того, группам и панелям инструментов следует давать явную метку, так как большинство вспомогательных технологий в противном случае не объявят их, несмотря на наличие соответствующего атрибута role. В приведенных здесь примерах мы используем aria-label, но также можно использовать альтернативы, такие как aria-labelledby.

Базовый пример

Оберните ряд кнопок с .btn в .btn-group.

Открыть пример на getbootstrap.com
<div class="btn-group" role="group" aria-label="...">
  <button type="button" class="btn btn-default">Left</button>
  <button type="button" class="btn btn-default">Middle</button>
  <button type="button" class="btn btn-default">Right</button>
</div>

Панель инструментов кнопок

Объедините наборы <div class="btn-group"> в <div class="btn-toolbar"> для более сложных компонентов.

Открыть пример на getbootstrap.com
<div class="btn-toolbar" role="toolbar" aria-label="...">
  <div class="btn-group" role="group" aria-label="...">...</div>
  <div class="btn-group" role="group" aria-label="...">...</div>
  <div class="btn-group" role="group" aria-label="...">...</div>
</div>

Изменение размера

Вместо применения классов изменения размера кнопок к каждой кнопке в группе, просто добавьте .btn-group-* к каждому .btn-group, в том числе при вложенности нескольких групп.

Открыть пример на getbootstrap.com
<div class="btn-group btn-group-lg" role="group" aria-label="...">...</div>
<div class="btn-group" role="group" aria-label="...">...</div>
<div class="btn-group btn-group-sm" role="group" aria-label="...">...</div>
<div class="btn-group btn-group-xs" role="group" aria-label="...">...</div>

Вложенность

Размещайте .btn-group внутри другой .btn-group, когда вам нужно смешивать выпадающие списки с рядом кнопок.

Открыть пример на getbootstrap.com
<div class="btn-group" role="group" aria-label="...">
  <button type="button" class="btn btn-default">1</button>
  <button type="button" class="btn btn-default">2</button>

  <div class="btn-group" role="group">
    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
      Dropdown
      <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
      <li><a href="#">Dropdown link</a></li>
      <li><a href="#">Dropdown link</a></li>
    </ul>
  </div>
</div>

Вертикальная вариация

Сделайте набор кнопок вертикально расположенными, а не горизонтально. Выпадающие списки кнопок-разделителей здесь не поддерживаются.

Открыть пример на getbootstrap.com
<div class="btn-group-vertical" role="group" aria-label="...">
  ...
</div>

Выровненные группы кнопок

Сделайте группу кнопок, которая растягивается равномерно по ширине, чтобы охватить всю ширину родительского элемента. Также работает с выпадающими списками кнопок в группе кнопок.

Обработка границ

Из-за конкретного HTML и CSS, используемого для выравнивания кнопок (а именно display: table-cell), границы между ними удваиваются. В обычных группах кнопок margin-left: -1px используется для стекирования границ вместо их удаления. Однако margin не работает с display: table-cell. В результате, в зависимости от ваших настроек Bootstrap, вы можете удалить или перекрасить границы.

IE8 и границы

Internet Explorer 8 не отображает границы на кнопках в выровненной группе кнопок, независимо от того, на <a> или <button> элементах. Чтобы обойти это, оберните каждую кнопку в другой .btn-group.

Для получения дополнительной информации см. #12476.

С <a> элементами

Просто оберните ряд .btn в .btn-group.btn-group-justified.

Открыть пример на getbootstrap.com
<div class="btn-group btn-group-justified" role="group" aria-label="...">
  ...
</div>
Ссылки, действующие как кнопки

Если элементы <a> используются в качестве кнопок — для запуска функциональности на странице, а не для перехода на другой документ или раздел текущей страницы — им также следует присвоить соответствующий класс role="button".

С элементами <button>

Для использования выровненных групп кнопок с элементами <button>, необходимо заключить каждую кнопку в группу кнопок. Большинство браузеров неправильно применяют наш CSS для выравнивания элементов <button>, но поскольку мы поддерживаем раскрывающиеся списки кнопок, мы можем обойти эту проблему.

Открыть пример на getbootstrap.com
<div class="btn-group btn-group-justified" role="group" aria-label="...">
  <div class="btn-group" role="group">
    <button type="button" class="btn btn-default">Left</button>
  </div>
  <div class="btn-group" role="group">
    <button type="button" class="btn btn-default">Middle</button>
  </div>
  <div class="btn-group" role="group">
    <button type="button" class="btn btn-default">Right</button>
  </div>
</div>

Раскрывающиеся списки кнопок

Используйте любую кнопку для вызова раскрывающегося меню, поместив её внутрь .btn-group и предоставив правильную разметку меню.

Зависимость от плагина

Для работы раскрывающихся списков кнопок необходимо включить плагин раскрывающихся списков в вашей версии Bootstrap.

Раскрывающиеся списки с одной кнопкой

Превратите кнопку в переключатель раскрывающегося списка с помощью некоторых изменений в разметке.

Открыть пример на getbootstrap.com
<!-- Single button -->
<div class="btn-group">
  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Action <span class="caret"></span>
  </button>
  <ul class="dropdown-menu">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li role="separator" class="divider"></li>
    <li><a href="#">Separated link</a></li>
  </ul>
</div>

Раскрывающиеся списки с разделенными кнопками

Аналогичным образом создайте раскрывающиеся списки с разделенными кнопками с теми же изменениями в разметке, только с отдельной кнопкой.

Открыть пример на getbootstrap.com
<!-- Split button -->
<div class="btn-group">
  <button type="button" class="btn btn-danger">Action</button>
  <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span class="caret"></span>
    <span class="sr-only">Toggle Dropdown</span>
  </button>
  <ul class="dropdown-menu">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li role="separator" class="divider"></li>
    <li><a href="#">Separated link</a></li>
  </ul>
</div>

Размеры

Раскрывающиеся списки кнопок работают со кнопками всех размеров.

Открыть пример на getbootstrap.com
<!-- Large button group -->
<div class="btn-group">
  <button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Large button <span class="caret"></span>
  </button>
  <ul class="dropdown-menu">
    ...
  </ul>
</div>

<!-- Small button group -->
<div class="btn-group">
  <button class="btn btn-default btn-sm dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Small button <span class="caret"></span>
  </button>
  <ul class="dropdown-menu">
    ...
  </ul>
</div>

<!-- Extra small button group -->
<div class="btn-group">
  <button class="btn btn-default btn-xs dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Extra small button <span class="caret"></span>
  </button>
  <ul class="dropdown-menu">
    ...
  </ul>
</div>

Вариант Dropup

Вызовите раскрывающиеся списки над элементами, добавив .dropup к родительскому элементу.

Открыть пример на getbootstrap.com
<div class="btn-group dropup">
  <button type="button" class="btn btn-default">Dropup</button>
  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span class="caret"></span>
    <span class="sr-only">Toggle Dropdown</span>
  </button>
  <ul class="dropdown-menu">
    <!-- Dropdown menu links -->
  </ul>
</div>

Группы ввода

Расширьте элементы управления формы, добавив текст или кнопки перед, после или с обеих сторон любого текстового <input>. Используйте .input-group с .input-group-addon или .input-group-btn для добавления элементов в начало или в конец одного .form-control.

Только текстовые <input>

Избегайте использования элементов <select> здесь, так как их невозможно полностью стилизовать в браузерах WebKit.

Избегайте использования элементов <textarea> здесь, так как их атрибут rows не будет учитываться в некоторых случаях.

Подсказки и всплывающие окна в группах ввода требуют специальных настроек

При использовании подсказок или всплывающих окон на элементах в .input-group, вам необходимо указать параметр container: 'body' чтобы избежать нежелательных последствий (например, увеличение ширины элемента и/или потеря его скругленных углов при активации подсказки или всплывающего окна).

Не смешивайте с другими компонентами

Не смешивайте группы форм или классы столбцов сетки непосредственно с группами ввода. Вместо этого вложенная группа ввода внутри группы форм или элемента, связанного с сеткой.

Всегда добавляйте метки

Считыватели экрана будут испытывать трудности с вашими формами, если вы не добавите метку к каждому полю ввода. Для этих групп ввода убедитесь, что любая дополнительная метка или функциональность передаётся средствам вспомогательной технологии.

Точный метод, который следует использовать (видимые <label> элементы, <label> элементы, скрытые с помощью класса .sr-only, или использование атрибутов aria-label, aria-labelledby, aria-describedby, title или placeholder и какая дополнительная информация должна быть передана, будет зависеть от точного типа виджета интерфейса, который вы реализуете. Примеры в этом разделе предлагают несколько рекомендуемых подходов к конкретным случаям.

Базовый пример

Поместите один дополнительный элемент или кнопку с каждой стороны поля ввода. Вы также можете поместить один элемент с обеих сторон поля ввода.

Мы не поддерживаем несколько дополнительных элементов (.input-group-addon или .input-group-btn на одной стороне.

Мы не поддерживаем несколько элементов form-control в одной группе ввода.

Открыть пример на getbootstrap.com
<div class="input-group">
  <span class="input-group-addon" id="basic-addon1">@</span>
  <input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
</div>

<div class="input-group">
  <input type="text" class="form-control" placeholder="Recipient's username" aria-describedby="basic-addon2">
  <span class="input-group-addon" id="basic-addon2">@example.com</span>
</div>

<div class="input-group">
  <span class="input-group-addon">$</span>
  <input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
  <span class="input-group-addon">.00</span>
</div>

<label for="basic-url">Your vanity URL</label>
<div class="input-group">
  <span class="input-group-addon" id="basic-addon3">https://example.com/users/</span>
  <input type="text" class="form-control" id="basic-url" aria-describedby="basic-addon3">
</div>

Размеры

Добавьте относительные классы размера формы к самому .input-group и содержимое автоматически изменит размер — нет необходимости повторять классы размера элементов управления формы на каждом элементе.

Открыть пример на getbootstrap.com
<div class="input-group input-group-lg">
  <span class="input-group-addon" id="sizing-addon1">@</span>
  <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon1">
</div>

<div class="input-group">
  <span class="input-group-addon" id="sizing-addon2">@</span>
  <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon2">
</div>

<div class="input-group input-group-sm">
  <span class="input-group-addon" id="sizing-addon3">@</span>
  <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon3">
</div>

Флажки и переключатели

Поместите флажки или переключатели внутри дополнительного элемента группы ввода вместо текста.

Открыть пример на getbootstrap.com
<div class="row">
  <div class="col-lg-6">
    <div class="input-group">
      <span class="input-group-addon">
        <input type="checkbox" aria-label="...">
      </span>
      <input type="text" class="form-control" aria-label="...">
    </div><!-- /input-group -->
  </div><!-- /.col-lg-6 -->
  <div class="col-lg-6">
    <div class="input-group">
      <span class="input-group-addon">
        <input type="radio" aria-label="...">
      </span>
      <input type="text" class="form-control" aria-label="...">
    </div><!-- /input-group -->
  </div><!-- /.col-lg-6 -->
</div><!-- /.row -->

Дополнительные кнопки

Кнопки в группах ввода немного отличаются и требуют одного дополнительного уровня вложения. Вместо .input-group-addon, вам нужно использовать .input-group-btn для обертывания кнопок. Это необходимо из-за стилей браузера по умолчанию, которые невозможно переопределить.

Открыть пример на getbootstrap.com
<div class="row">
  <div class="col-lg-6">
    <div class="input-group">
      <span class="input-group-btn">
        <button class="btn btn-default" type="button">Go!</button>
      </span>
      <input type="text" class="form-control" placeholder="Search for...">
    </div><!-- /input-group -->
  </div><!-- /.col-lg-6 -->
  <div class="col-lg-6">
    <div class="input-group">
      <input type="text" class="form-control" placeholder="Search for...">
      <span class="input-group-btn">
        <button class="btn btn-default" type="button">Go!</button>
      </span>
    </div><!-- /input-group -->
  </div><!-- /.col-lg-6 -->
</div><!-- /.row -->

Кнопки с раскрывающимися списками

Открыть пример на getbootstrap.com
<div class="row">
  <div class="col-lg-6">
    <div class="input-group">
      <div class="input-group-btn">
        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Action <span class="caret"></span></button>
        <ul class="dropdown-menu">
          <li><a href="#">Action</a></li>
          <li><a href="#">Another action</a></li>
          <li><a href="#">Something else here</a></li>
          <li role="separator" class="divider"></li>
          <li><a href="#">Separated link</a></li>
        </ul>
      </div><!-- /btn-group -->
      <input type="text" class="form-control" aria-label="...">
    </div><!-- /input-group -->
  </div><!-- /.col-lg-6 -->
  <div class="col-lg-6">
    <div class="input-group">
      <input type="text" class="form-control" aria-label="...">
      <div class="input-group-btn">
        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Action <span class="caret"></span></button>
        <ul class="dropdown-menu dropdown-menu-right">
          <li><a href="#">Action</a></li>
          <li><a href="#">Another action</a></li>
          <li><a href="#">Something else here</a></li>
          <li role="separator" class="divider"></li>
          <li><a href="#">Separated link</a></li>
        </ul>
      </div><!-- /btn-group -->
    </div><!-- /input-group -->
  </div><!-- /.col-lg-6 -->
</div><!-- /.row -->

Разделенные кнопки

Открыть пример на getbootstrap.com
<div class="input-group">
  <div class="input-group-btn">
    <!-- Button and dropdown menu -->
  </div>
  <input type="text" class="form-control" aria-label="...">
</div>

<div class="input-group">
  <input type="text" class="form-control" aria-label="...">
  <div class="input-group-btn">
    <!-- Button and dropdown menu -->
  </div>
</div>

Несколько кнопок

Хотя у вас может быть только один дополнительный элемент на каждую сторону, вы можете разместить несколько кнопок внутри одной .input-group-btn.

Открыть пример на getbootstrap.com
<div class="input-group">
  <div class="input-group-btn">
    <!-- Buttons -->
  </div>
  <input type="text" class="form-control" aria-label="...">
</div>

<div class="input-group">
  <input type="text" class="form-control" aria-label="...">
  <div class="input-group-btn">
    <!-- Buttons -->
  </div>
</div>

Навигационные меню

Навигационные меню в Bootstrap имеют общую разметку, начиная с базового класса .nav, а также общие состояния. Замените модификаторы классов, чтобы переключаться между стилями.

Использование навигационных меню для панелей вкладок требует плагина JavaScript для вкладок

Для вкладок со вкладками необходимо использовать плагин JavaScript для вкладок плагин вкладок. Разметка также потребует дополнительных role и атрибутов ARIA — см. пример разметки плагина в примере разметки для получения дополнительной информации.

Сделайте навигационные меню, используемые в качестве навигации, доступными

Если вы используете навигационные меню для создания панели навигации, обязательно добавьте атрибут role="navigation" к самому логичному контейнеру <ul>, или оберните элемент <nav> вокруг всей навигации. Не добавляйте роль элементу <ul>, так как это помешает ему быть объявленным как фактический список средствами вспомогательной технологии.

Вкладки

Обратите внимание, что класс .nav-tabs требует базового класса .nav.

Открыть пример на getbootstrap.com
<ul class="nav nav-tabs">
  <li role="presentation" class="active"><a href="#">Home</a></li>
  <li role="presentation"><a href="#">Profile</a></li>
  <li role="presentation"><a href="#">Messages</a></li>
</ul>

Панели

Возьмите тот же HTML, но используйте .nav-pills вместо:

Открыть пример на getbootstrap.com
<ul class="nav nav-pills">
  <li role="presentation" class="active"><a href="#">Home</a></li>
  <li role="presentation"><a href="#">Profile</a></li>
  <li role="presentation"><a href="#">Messages</a></li>
</ul>

Панели также можно вертикально выстраивать. Просто добавьте .nav-stacked.

Открыть пример на getbootstrap.com
<ul class="nav nav-pills nav-stacked">
  ...
</ul>

Выровненные

Легко сделайте вкладки или панели одинаковой ширины родительского элемента при ширине экрана более 768 пикселей с помощью .nav-justified. На экранах меньшего размера ссылки навигации выстраиваются вертикально.

Выровненные ссылки навигации в навигационной панели в данный момент не поддерживаются.

Safari и отзывчивые выровненные навигационные меню

Начиная с v9.1.2, Safari имеет ошибку, при которой изменение размера вашего браузера по горизонтали приводит к ошибкам рендеринга в выровненном навигационном меню, которые устраняются при обновлении. Эта ошибка также показана в примере выровненного навигационного меню.

Открыть пример на getbootstrap.com
<ul class="nav nav-tabs nav-justified">
  ...
</ul>
<ul class="nav nav-pills nav-justified">
  ...
</ul>

Отключенные ссылки

Для любого компонента навигации (вкладки или панели) добавьте .disabled для получения серых ссылок и отсутствия эффектов наведения.

Функциональность ссылок не затрагивается

Этот класс изменит только внешний вид <a>, а не его функциональность. Используйте пользовательский JavaScript для отключения ссылок здесь.

Открыть пример на getbootstrap.com
<ul class="nav nav-pills">
  ...
  <li role="presentation" class="disabled"><a href="#">Disabled link</a></li>
  ...
</ul>

Использование раскрывающихся списков

Добавьте раскрывающиеся списки с небольшими изменениями в HTML и плагином раскрывающихся списков.

Вкладки с раскрывающимися списками

Открыть пример на getbootstrap.com
<ul class="nav nav-tabs">
  ...
  <li role="presentation" class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
      Dropdown <span class="caret"></span>
    </a>
    <ul class="dropdown-menu">
      ...
    </ul>
  </li>
  ...
</ul>

Панели с раскрывающимися списками

Открыть пример на getbootstrap.com
<ul class="nav nav-pills">
  ...
  <li role="presentation" class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
      Dropdown <span class="caret"></span>
    </a>
    <ul class="dropdown-menu">
      ...
    </ul>
  </li>
  ...
</ul>

Панель навигации

Стандартная навигационная панель

Навигационные панели — это адаптивные метакомпоненты, которые служат заголовками навигации для вашего приложения или сайта. Они начинают работу в свёрнутом виде (и могут быть переключены) в мобильных представлениях и становятся горизонтальными по мере увеличения доступной ширины просмотра.

Выравнивание ссылок навигационной панели в настоящее время не поддерживается.

Переполнение содержимого

Поскольку Bootstrap не знает, сколько места нужно содержимому в вашей навигационной панели, у вас могут возникнуть проблемы с переходом содержимого на вторую строку. Для решения этой проблемы вы можете:

  1. Уменьшить количество или ширину элементов навигационной панели.
  2. Скрыть определенные элементы навигационной панели на определенных размерах экрана, используя адаптивные служебные классы.
  3. Изменить точку, в которой навигационная панель переключается между свёрнутым и горизонтальным режимом. Настройте переменную @grid-float-breakpoint или добавьте свою собственную медиа-запрос.
Требуется плагин JavaScript

Если JavaScript отключён, а область просмотра достаточно узкая для сворачивания навигационной панели, то будет невозможно развернуть навигационную панель и просмотреть содержимое внутри .navbar-collapse.

Для адаптивной навигационной панели требуется включить плагин свертывания в вашей версии Bootstrap.

Изменение точки разрыва мобильной свёрнутой навигационной панели

Навигационная панель сворачивается в вертикальный мобильный вид, когда область просмотра уже @grid-float-breakpoint, и разворачивается в горизонтальный вид для немобильных устройств, когда область просмотра имеет ширину как минимум @grid-float-breakpoint. Измените эту переменную в исходном коде Less, чтобы контролировать, когда навигационная панель сворачивается/развертывается. Значение по умолчанию — 768px (наименьший экран «маленького» или «планшетного» размера).

Обеспечение доступности навигационных панелей

Убедитесь, что вы используете элемент <nav> или, если вы используете более общий элемент, такой как <div>, добавьте role="navigation" к каждой навигационной панели, чтобы явно идентифицировать её как область ориентира для пользователей с вспомогательными технологиями.

Открыть пример на getbootstrap.com
<nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">Separated link</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">One more separated link</a></li>
          </ul>
        </li>
      </ul>
      <form class="navbar-form navbar-left">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search">
        </div>
        <button type="submit" class="btn btn-default">Submit</button>
      </form>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">Separated link</a></li>
          </ul>
        </li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

Изображение бренда

Замените бренд навигационной панели своим изображением, заменив текст на <img>. Поскольку у .navbar-brand есть свой отступ и высота, вам может потребоваться переопределить некоторые значения CSS в зависимости от вашего изображения.

Открыть пример на getbootstrap.com
<nav class="navbar navbar-default">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">
        <img alt="Brand" src="...">
      </a>
    </div>
  </div>
</nav>

Формы

Разместите содержимое формы в .navbar-form для правильного вертикального выравнивания и поведения при сворачивании в узких областях просмотра. Используйте варианты выравнивания, чтобы определить, где она находится в содержимом навигационной панели.

Обратите внимание, что .navbar-form использует значительную часть кода из .form-inline через миксин. Некоторые элементы управления формой, такие как группы ввода, могут потребовать фиксированной ширины, чтобы корректно отображаться в навигационной панели.

Открыть пример на getbootstrap.com
<form class="navbar-form navbar-left" role="search">
  <div class="form-group">
    <input type="text" class="form-control" placeholder="Search">
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>
Особенности мобильных устройств

Существуют некоторые особенности, связанные с использованием элементов управления формой в фиксированных элементах на мобильных устройствах. См. документацию по поддержке браузеров для получения подробной информации.

Всегда добавляйте метки

Для программных средств чтения экрана у ваших форм возникнут трудности, если вы не включите метку для каждого элемента ввода. Для этих встроенных форм вы можете скрыть метки, используя класс .sr-only. Существуют и другие альтернативные методы предоставления метки для вспомогательных технологий, такие как атрибуты aria-label, aria-labelledby или title. Если ни один из них не присутствует, программы чтения экрана могут использовать атрибут placeholder, если он присутствует, но обратите внимание, что использование placeholder в качестве замены других методов маркировки не рекомендуется.

Кнопки

Добавьте класс .navbar-btn к элементам <button>, не находящимся в <form>, чтобы вертикально выровнять их в навигационной панели.

Открыть пример на getbootstrap.com
<button type="button" class="btn btn-default navbar-btn">Sign in</button>
Использование в контексте

Как и стандартные классы кнопок, .navbar-btn можно использовать с элементами <a> и <input>. Однако ни .navbar-btn, ни стандартные классы кнопок не должны использоваться с элементами <a> внутри .navbar-nav.

Текст

Оборачивайте строки текста в элемент с .navbar-text, обычно в теге <p> для правильного отступа и цвета.

Открыть пример на getbootstrap.com
<p class="navbar-text">Signed in as Mark Otto</p>

Ссылки, не являющиеся ссылками навигации

Для пользователей, использующих стандартные ссылки, которые не входят в стандартный компонент навигации навигационной панели, используйте класс .navbar-link для добавления правильных цветов для вариантов навигационной панели по умолчанию и инверсии.

Открыть пример на getbootstrap.com
<p class="navbar-text navbar-right">Signed in as <a href="#" class="navbar-link">Mark Otto</a></p>

Выравнивание компонентов

Выравнивайте ссылки навигации, формы, кнопки или текст, используя служебные классы .navbar-left или .navbar-right. Оба класса добавят CSS-выравнивание по указанному направлению. Например, для выравнивания ссылок навигации поместите их в отдельный <ul> с примененным соответствующим служебным классом.

Эти классы являются миксинами .pull-left и .pull-right, но они ограничены медиа-запросами для более удобного управления компонентами навигационной панели на разных размерах устройств.

Выравнивание по правому краю нескольких компонентов

В настоящее время навигационные панели имеют ограничение с множеством классов .navbar-right. Чтобы обеспечить правильное расстояние между содержимым, мы используем отрицательный отступ последнего элемента .navbar-right. Когда несколько элементов используют этот класс, эти отступы не работают должным образом.

Мы пересмотрим это, когда сможем переписать этот компонент в версии v4.

Фиксированная верхняя позиция

Добавьте .navbar-fixed-top и включите .container или .container-fluid для центрирования и добавления отступов к содержимому навигационной панели.

Открыть пример на getbootstrap.com
<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container">
    ...
  </div>
</nav>
Требуется отступ в теле

Фиксированная навигационная панель будет накладываться на другое содержимое, если вы не добавите padding в верхнюю часть <body>. Попробуйте свои значения или используйте наш фрагмент ниже. Подсказка: по умолчанию высота навигационной панели составляет 50 пикселей.

body { padding-top: 70px; }

Убедитесь, что вы включили этот фрагмент после основного CSS Bootstrap.

Фиксированная нижняя позиция

Добавьте .navbar-fixed-bottom и включите .container или .container-fluid для центрирования и добавления отступов к содержимому навигационной панели.

Открыть пример на getbootstrap.com
<nav class="navbar navbar-default navbar-fixed-bottom">
  <div class="container">
    ...
  </div>
</nav>
Требуется отступ в теле

Фиксированная навигационная панель будет накладываться на другое содержимое, если вы не добавите padding в нижнюю часть <body>. Попробуйте свои значения или используйте наш фрагмент ниже. Подсказка: по умолчанию высота навигационной панели составляет 50 пикселей.

body { padding-bottom: 70px; }

Убедитесь, что вы включили этот фрагмент после основного CSS Bootstrap.

Статическая верхняя позиция

Создайте навигационную панель полной ширины, которая прокручивается вместе со страницей, добавив .navbar-static-top и включив .container или .container-fluid для центрирования и добавления отступов к содержимому навигационной панели.

В отличие от классов .navbar-fixed-*, вам не нужно изменять отступы в body.

Открыть пример на getbootstrap.com
<nav class="navbar navbar-default navbar-static-top">
  <div class="container">
    ...
  </div>
</nav>

Инвертированная навигационная панель

Измените вид навигационной панели, добавив .navbar-inverse.

Открыть пример на getbootstrap.com
<nav class="navbar navbar-inverse">
  ...
</nav>

Хлебные крошки

Укажите расположение текущей страницы в иерархии навигации.

Разделители автоматически добавляются в CSS с помощью :before и content.

Открыть пример на getbootstrap.com
<ol class="breadcrumb">
  <li><a href="#">Home</a></li>
  <li><a href="#">Library</a></li>
  <li class="active">Data</li>
</ol>

Пагинация

Предоставьте ссылки для постраничной навигации на вашем сайте или в приложении с помощью компонента многостраничной пагинации или более простого альтернативного компонента.

Стандартная пагинация

Простая пагинация, вдохновлённая Rdio, отлично подходит для приложений и результатов поиска. Большой блок трудно не заметить, легко масштабируется и предоставляет большие области для нажатия.

Открыть пример на getbootstrap.com
<nav aria-label="Page navigation">
  <ul class="pagination">
    <li>
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">&laquo;</span>
      </a>
    </li>
    <li><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
    <li>
      <a href="#" aria-label="Next">
        <span aria-hidden="true">&raquo;</span>
      </a>
    </li>
  </ul>
</nav>
Отображение компонента пагинации

Компонент пагинации должен быть обернут в элемент <nav> для идентификации его как раздела навигации для программ чтения экрана и других вспомогательных технологий. Кроме того, поскольку на странице, скорее всего, уже есть несколько таких разделов навигации (например, основная навигация в заголовке или навигация в боковой панели), рекомендуется предоставить описательную aria-label для <nav>, которая отражает её назначение. Например, если компонент пагинации используется для навигации по набору результатов поиска, соответствующей меткой может быть aria-label="Search results pages".

Отключенное и активное состояния

Ссылки могут быть настроены для разных ситуаций. Используйте .disabled для недоступных ссылок и .active для обозначения текущей страницы.

Открыть пример на getbootstrap.com
<nav aria-label="...">
  <ul class="pagination">
    <li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
    <li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li>
    ...
  </ul>
</nav>

Рекомендуется заменить активные или отключенные якоря на <span>, или опустить якорь в случае стрелок «предыдущая»/«следующая», чтобы убрать функциональность клика, сохранив при этом предполагаемые стили.

<nav aria-label="...">
  <ul class="pagination">
    <li class="disabled">
      <span>
        <span aria-hidden="true">&laquo;</span>
      </span>
    </li>
    <li class="active">
      <span>1 <span class="sr-only">(current)</span></span>
    </li>
    ...
  </ul>
</nav>

Размер

Нужны большая или меньшая постраничная навигация? Добавьте .pagination-lg или .pagination-sm для дополнительных размеров.

Открыть пример на getbootstrap.com
<nav aria-label="..."><ul class="pagination pagination-lg">...</ul></nav>
<nav aria-label="..."><ul class="pagination">...</ul></nav>
<nav aria-label="..."><ul class="pagination pagination-sm">...</ul></nav>

Блокировка страниц

Быстрые ссылки «предыдущая» и «следующая» для реализации постраничной навигации с помощью лёгкой разметки и стилей. Отлично подходит для простых сайтов, таких как блоги или журналы.

Пример по умолчанию

По умолчанию ссылки блоков страниц центрируются.

Открыть пример на getbootstrap.com
<nav aria-label="...">
  <ul class="pager">
    <li><a href="#">Previous</a></li>
    <li><a href="#">Next</a></li>
  </ul>
</nav>

Выровненные ссылки

В качестве альтернативы вы можете выровнять каждую ссылку по краям:

Открыть пример на getbootstrap.com
<nav aria-label="...">
  <ul class="pager">
    <li class="previous"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li>
    <li class="next"><a href="#">Newer <span aria-hidden="true">&rarr;</span></a></li>
  </ul>
</nav>

Необязательное состояние отключения

Ссылки блоков страниц также используют общую .disabled утилиту класса из постраничной навигации.

Открыть пример на getbootstrap.com
<nav aria-label="...">
  <ul class="pager">
    <li class="previous disabled"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li>
    <li class="next"><a href="#">Newer <span aria-hidden="true">&rarr;</span></a></li>
  </ul>
</nav>

Метки

Пример

Открыть пример на getbootstrap.com
<h3>Example heading <span class="label label-default">New</span></h3>

Доступные варианты

Добавьте любой из нижеуказанных модификаторов классов, чтобы изменить внешний вид метки.

Открыть пример на getbootstrap.com
<span class="label label-default">Default</span>
<span class="label label-primary">Primary</span>
<span class="label label-success">Success</span>
<span class="label label-info">Info</span>
<span class="label label-warning">Warning</span>
<span class="label label-danger">Danger</span>
Много меток?

При наличии десятков встроенных меток в узком контейнере, каждая из которых содержит свой inline-block элемент (например, значок), могут возникнуть проблемы с рендерингом. Для решения этой проблемы установите display: inline-block;. Для контекста и примера, обратитесь к #13219.

Значки

Легко выделяйте новые или непрочитанные элементы, добавляя <span class="badge"> к ссылкам, навигационным элементам Bootstrap и т. д.

Открыть пример на getbootstrap.com
<a href="#">Inbox <span class="badge">42</span></a>

<button class="btn btn-primary" type="button">
  Messages <span class="badge">4</span>
</button>
Самоколлапсирование

При отсутствии новых или непрочитанных элементов значки просто схлопываются (через CSS-селектор :empty) при отсутствии содержимого внутри.

Совместимость с различными браузерами

Значки не будут самосхлопываться в Internet Explorer 8, так как в нём отсутствует поддержка селектора :empty.

Подстраивается под активное состояние навигации

Встроенные стили включают размещение значков в активном состоянии в навигации с шариками.

Открыть пример на getbootstrap.com
<ul class="nav nav-pills" role="tablist">
  <li role="presentation" class="active"><a href="#">Home <span class="badge">42</span></a></li>
  <li role="presentation"><a href="#">Profile</a></li>
  <li role="presentation"><a href="#">Messages <span class="badge">3</span></a></li>
</ul>

Jumbotron

Лёгкий, гибкий компонент, который по желанию может расширяться на весь экран, чтобы отобразить ключевое содержимое вашего сайта.

Открыть пример на getbootstrap.com
<div class="jumbotron">
  <h1>Hello, world!</h1>
  <p>...</p>
  <p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a></p>
</div>

Чтобы сделать Jumbotron полноразмерным и без закруглённых углов, поместите его за пределами всех .container и вместо этого добавьте .container внутрь.

<div class="jumbotron">
  <div class="container">
    ...
  </div>
</div>

Заголовок страницы

Простая оболочка для h1 для надлежащего выравнивания и сегментации разделов контента на странице. Он может использовать стандартный h1 элемент small, а также большинство других компонентов (с дополнительными стилями).

Открыть пример на getbootstrap.com
<div class="page-header">
  <h1>Example page header <small>Subtext for header</small></h1>
</div>

Миниатюры

Расширьте систему сетки Bootstrap системой сетки с помощью компонента миниатюры, чтобы легко отображать сетки изображений, видео, текста и т. д.

Если вам нужна презентация миниатюр в стиле Pinterest с различной высотой и/или шириной, вам потребуется использовать сторонний плагин, такой как Masonry, Isotope или Salvattore.

Пример по умолчанию

По умолчанию миниатюры Bootstrap предназначены для отображения связанных изображений с минимальной необходимой разметкой.

Открыть пример на getbootstrap.com
<div class="row">
  <div class="col-xs-6 col-md-3">
    <a href="#" class="thumbnail">
      <img src="..." alt="...">
    </a>
  </div>
  ...
</div>

Пользовательское содержимое

С помощью дополнительной разметки можно добавить любой вид HTML-содержимого, например, заголовки, абзацы или кнопки, в миниатюры.

Открыть пример на getbootstrap.com
<div class="row">
  <div class="col-sm-6 col-md-4">
    <div class="thumbnail">
      <img src="..." alt="...">
      <div class="caption">
        <h3>Thumbnail label</h3>
        <p>...</p>
        <p><a href="#" class="btn btn-primary" role="button">Button</a> <a href="#" class="btn btn-default" role="button">Button</a></p>
      </div>
    </div>
  </div>
</div>

Уведомления

Предоставляйте контекстные сообщения обратной связи для типичных действий пользователя с помощью нескольких доступных и гибких сообщений уведомлений.

Примеры

Оборачивайте любой текст и необязательную кнопку закрытия в .alert и один из четырёх контекстных классов (например, .alert-success) для базовых сообщений уведомления.

Без класса по умолчанию

Уведомления не имеют классов по умолчанию, только базовые и модификаторы классов. Уведомление по умолчанию серого цвета не имеет смысла, поэтому вы должны указать тип с помощью контекстного класса. Выберите из вариантов: успех, информация, предупреждение или опасность.

Открыть пример на getbootstrap.com
<div class="alert alert-success" role="alert">...</div>
<div class="alert alert-info" role="alert">...</div>
<div class="alert alert-warning" role="alert">...</div>
<div class="alert alert-danger" role="alert">...</div>

Уведомления с возможностью закрытия

Расширьте любое уведомление, добавив необязательный .alert-dismissible и кнопку закрытия.

Требуется плагин JavaScript для уведомлений

Для полностью функциональных и закрываемых уведомлений необходимо использовать плагин JavaScript для уведомлений.

Открыть пример на getbootstrap.com
<div class="alert alert-warning alert-dismissible" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  <strong>Warning!</strong> Better check yourself, you're not looking too good.
</div>
Обеспечьте правильную работу на всех устройствах

Убедитесь, что используете элемент <button> с атрибутом данных data-dismiss="alert".

Ссылки в уведомлениях

Используйте утилиту класса .alert-link для быстрого предоставления ссылок соответствующего цвета внутри любого уведомления.

Открыть пример на getbootstrap.com
<div class="alert alert-success" role="alert">
  <a href="#" class="alert-link">...</a>
</div>
<div class="alert alert-info" role="alert">
  <a href="#" class="alert-link">...</a>
</div>
<div class="alert alert-warning" role="alert">
  <a href="#" class="alert-link">...</a>
</div>
<div class="alert alert-danger" role="alert">
  <a href="#" class="alert-link">...</a>
</div>

Полосы прогресса

Предоставьте актуальную обратную связь о ходе выполнения процесса или действия с помощью простых, но гибких полос прогресса.

Совместимость с различными браузерами

Полосы прогресса используют CSS3-переходы и анимации для достижения некоторых своих эффектов. Эти функции не поддерживаются в Internet Explorer 9 и ниже или более старых версиях Firefox. Opera 12 не поддерживает анимации.

Совместимость с политикой безопасности содержимого (CSP)

Если на вашем сайте установлена политика безопасности содержимого (CSP), которая не допускает style-src 'unsafe-inline', то вы не сможете использовать встроенные атрибуты style для установки ширины полосы прогресса, как показано в наших примерах ниже. Альтернативные методы установки ширины, совместимые со строгими CSP, включают использование небольшого пользовательского JavaScript (который устанавливает element.style.width) или использование пользовательских CSS-классов.

Базовый пример

Полоса прогресса по умолчанию.

Открыть пример на getbootstrap.com
<div class="progress">
  <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
    <span class="sr-only">60% Complete</span>
  </div>
</div>

Со меткой

Удалите <span> с .sr-only классом изнутри полосы прогресса, чтобы отобразить видимый процент.

Открыть пример на getbootstrap.com
<div class="progress">
  <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
    60%
  </div>
</div>

Чтобы убедиться, что текст метки остаётся читаемым даже при низких процентах, рассмотрите добавление min-width к полосе прогресса.

Открыть пример на getbootstrap.com
<div class="progress">
  <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em;">
    0%
  </div>
</div>
<div class="progress">
  <div class="progress-bar" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em; width: 2%;">
    2%
  </div>
</div>

Контекстные альтернативы

Полосы прогресса используют некоторые из тех же классов кнопок и уведомлений для согласованных стилей.

Открыть пример на getbootstrap.com
<div class="progress">
  <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%">
    <span class="sr-only">40% Complete (success)</span>
  </div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width: 20%">
    <span class="sr-only">20% Complete</span>
  </div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%">
    <span class="sr-only">60% Complete (warning)</span>
  </div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
    <span class="sr-only">80% Complete (danger)</span>
  </div>
</div>

С полосами

Использует градиент для создания полосатого эффекта. Недоступно в IE9 и ниже.

Открыть пример на getbootstrap.com
<div class="progress">
  <div class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%">
    <span class="sr-only">40% Complete (success)</span>
  </div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-info progress-bar-striped" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width: 20%">
    <span class="sr-only">20% Complete</span>
  </div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-warning progress-bar-striped" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%">
    <span class="sr-only">60% Complete (warning)</span>
  </div>
</div>
<div class="progress">
  <div class="progress-bar progress-bar-danger progress-bar-striped" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%">
    <span class="sr-only">80% Complete (danger)</span>
  </div>
</div>

Анимированная

Добавьте .active к .progress-bar-striped для анимации полос справа налево. Недоступно в IE9 и ниже.

Открыть пример на getbootstrap.com
<div class="progress">
  <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%">
    <span class="sr-only">45% Complete</span>
  </div>
</div>

Сгруппированные

Поместите несколько полос в тот же .progress для их группировки.

Открыть пример на getbootstrap.com
<div class="progress">
  <div class="progress-bar progress-bar-success" style="width: 35%">
    <span class="sr-only">35% Complete (success)</span>
  </div>
  <div class="progress-bar progress-bar-warning progress-bar-striped" style="width: 20%">
    <span class="sr-only">20% Complete (warning)</span>
  </div>
  <div class="progress-bar progress-bar-danger" style="width: 10%">
    <span class="sr-only">10% Complete (danger)</span>
  </div>
</div>

Объект медиа

Абстрактные стили объекта для создания различных типов компонентов (например, комментарии к блогам, твиты и т. д.), которые содержат изображение, выровненное слева или справа, рядом с текстовым содержимым.

Среднее значение по умолчанию

Среднее значение по умолчанию отображает объект медиа (изображения, видео, аудио) слева или справа от блока содержимого.

Открыть пример на getbootstrap.com
<div class="media">
  <div class="media-left">
    <a href="#">
      <img class="media-object" src="..." alt="...">
    </a>
  </div>
  <div class="media-body">
    <h4 class="media-heading">Media heading</h4>
    ...
  </div>
</div>

Классы .pull-left и .pull-right также существуют и ранее использовались в качестве части компонента медиа, но с версии v3.3.0 устарели для этого использования. Они примерно эквивалентны .media-left и .media-right, за исключением того, что .media-right следует размещать после .media-body в html.

Выравнивание медиа

Изображения или другие медиа-объекты могут быть выровнены по верху, середине или низу. По умолчанию выравнивание по верху.

Открыть пример на getbootstrap.com
<div class="media">
  <div class="media-left media-middle">
    <a href="#">
      <img class="media-object" src="..." alt="...">
    </a>
  </div>
  <div class="media-body">
    <h4 class="media-heading">Middle aligned media</h4>
    ...
  </div>
</div>

Список медиа

С помощью дополнительной разметки вы можете использовать медиа внутри списка (полезно для потоков комментариев или списков статей).

Открыть пример на getbootstrap.com
<ul class="media-list">
  <li class="media">
    <div class="media-left">
      <a href="#">
        <img class="media-object" src="..." alt="...">
      </a>
    </div>
    <div class="media-body">
      <h4 class="media-heading">Media heading</h4>
      ...
    </div>
  </li>
</ul>

Группа элементов списка

Группы элементов списка — гибкий и мощный компонент для отображения не только простых списков элементов, но и сложных с пользовательским содержимым.

Базовый пример

Самая базовая группа элементов списка — это просто неупорядоченный список с элементами списка и соответствующими классами. Развивайте его с помощью следующих параметров или собственной CSS по мере необходимости.

Открыть пример на getbootstrap.com
<ul class="list-group">
  <li class="list-group-item">Cras justo odio</li>
  <li class="list-group-item">Dapibus ac facilisis in</li>
  <li class="list-group-item">Morbi leo risus</li>
  <li class="list-group-item">Porta ac consectetur ac</li>
  <li class="list-group-item">Vestibulum at eros</li>
</ul>

Метки

Добавьте компонент меток к любому элементу группы элементов списка, и он автоматически расположится справа.

Открыть пример на getbootstrap.com
<ul class="list-group">
  <li class="list-group-item">
    <span class="badge">14</span>
    Cras justo odio
  </li>
</ul>

Связанные элементы

Превратите элементы группы элементов списка в ссылки, используя теги якоря вместо элементов списка (это также означает родительский <div> вместо <ul>). Нет необходимости в отдельных родительских элементах вокруг каждого элемента.

Открыть пример на getbootstrap.com
<div class="list-group">
  <a href="#" class="list-group-item active">
    Cras justo odio
  </a>
  <a href="#" class="list-group-item">Dapibus ac facilisis in</a>
  <a href="#" class="list-group-item">Morbi leo risus</a>
  <a href="#" class="list-group-item">Porta ac consectetur ac</a>
  <a href="#" class="list-group-item">Vestibulum at eros</a>
</div>

Элементы-кнопки

Элементы группы элементов списка могут быть кнопками вместо элементов списка (что также означает родительский <div> вместо <ul>). Нет необходимости в отдельных родительских элементах вокруг каждого элемента. Не используйте стандартные .btn классы здесь.

Открыть пример на getbootstrap.com
<div class="list-group">
  <button type="button" class="list-group-item">Cras justo odio</button>
  <button type="button" class="list-group-item">Dapibus ac facilisis in</button>
  <button type="button" class="list-group-item">Morbi leo risus</button>
  <button type="button" class="list-group-item">Porta ac consectetur ac</button>
  <button type="button" class="list-group-item">Vestibulum at eros</button>
</div>

Отключенные элементы

Добавьте .disabled к .list-group-item элементу, чтобы он стал серым и выглядел отключённым.

Открыть пример на getbootstrap.com
<div class="list-group">
  <a href="#" class="list-group-item disabled">
    Cras justo odio
  </a>
  <a href="#" class="list-group-item">Dapibus ac facilisis in</a>
  <a href="#" class="list-group-item">Morbi leo risus</a>
  <a href="#" class="list-group-item">Porta ac consectetur ac</a>
  <a href="#" class="list-group-item">Vestibulum at eros</a>
</div>

Контекстные классы

Используйте контекстные классы для стилизации элементов списка, стандартных или связанных. Также включает состояние .active.

Открыть пример на getbootstrap.com
<ul class="list-group">
  <li class="list-group-item list-group-item-success">Dapibus ac facilisis in</li>
  <li class="list-group-item list-group-item-info">Cras sit amet nibh libero</li>
  <li class="list-group-item list-group-item-warning">Porta ac consectetur ac</li>
  <li class="list-group-item list-group-item-danger">Vestibulum at eros</li>
</ul>
<div class="list-group">
  <a href="#" class="list-group-item list-group-item-success">Dapibus ac facilisis in</a>
  <a href="#" class="list-group-item list-group-item-info">Cras sit amet nibh libero</a>
  <a href="#" class="list-group-item list-group-item-warning">Porta ac consectetur ac</a>
  <a href="#" class="list-group-item list-group-item-danger">Vestibulum at eros</a>
</div>

Пользовательское содержимое

Добавьте практически любой HTML, даже для связанных групп элементов списка, как в примере ниже.

Открыть пример на getbootstrap.com
<div class="list-group">
  <a href="#" class="list-group-item active">
    <h4 class="list-group-item-heading">List group item heading</h4>
    <p class="list-group-item-text">...</p>
  </a>
</div>

Панели

Хотя это не всегда необходимо, иногда нужно поместить ваш DOM в рамку. В таких ситуациях попробуйте компонент панели.

Базовый пример

По умолчанию, все .panel просто применяет некоторые базовые границы и отступы для содержимого.

Открыть пример на getbootstrap.com
<div class="panel panel-default">
  <div class="panel-body">
    Basic panel example
  </div>
</div>

Панель с заголовком

Легко добавьте контейнер для заголовка в свою панель с .panel-heading. Вы также можете включить любые <h1>-<h6> с классом .panel-title, чтобы добавить стилизованный заголовок. Однако размеры шрифтов <h1>-<h6> переопределяются .panel-heading.

Для правильной окраски ссылок, убедитесь, что ссылки находятся в заголовках внутри .panel-title.

Открыть пример на getbootstrap.com
<div class="panel panel-default">
  <div class="panel-heading">Panel heading without title</div>
  <div class="panel-body">
    Panel content
  </div>
</div>

<div class="panel panel-default">
  <div class="panel-heading">
    <h3 class="panel-title">Panel title</h3>
  </div>
  <div class="panel-body">
    Panel content
  </div>
</div>

Панель с подвалом

Оборачивайте кнопки или дополнительный текст в .panel-footer. Обратите внимание, что подвалы панелей не наследуют цвета и границы при использовании контекстных вариантов, так как они не должны быть на переднем плане.

Открыть пример на getbootstrap.com
<div class="panel panel-default">
  <div class="panel-body">
    Panel content
  </div>
  <div class="panel-footer">Panel footer</div>
</div>

Контекстные альтернативы

Как и другие компоненты, легко сделать панель более понятной в конкретном контексте, добавив любой из контекстных классов состояния.

Открыть пример на getbootstrap.com
<div class="panel panel-primary">...</div>
<div class="panel panel-success">...</div>
<div class="panel panel-info">...</div>
<div class="panel panel-warning">...</div>
<div class="panel panel-danger">...</div>

С таблицами

Добавьте любую необрамлённую .table внутри панели для плавного дизайна. Если есть .panel-body, мы добавляем дополнительную границу в верхней части таблицы для разделения.

Открыть пример на getbootstrap.com
<div class="panel panel-default">
  <!-- Default panel contents -->
  <div class="panel-heading">Panel heading</div>
  <div class="panel-body">
    <p>...</p>
  </div>

  <!-- Table -->
  <table class="table">
    ...
  </table>
</div>

Если нет тела панели, компонент переходит от заголовка панели к таблице без разрыва.

Открыть пример на getbootstrap.com
<div class="panel panel-default">
  <!-- Default panel contents -->
  <div class="panel-heading">Panel heading</div>

  <!-- Table -->
  <table class="table">
    ...
  </table>
</div>

Со списком элементов

Легко включайте полноширинные группы элементов списка в любую панель.

Открыть пример на getbootstrap.com
<div class="panel panel-default">
  <!-- Default panel contents -->
  <div class="panel-heading">Panel heading</div>
  <div class="panel-body">
    <p>...</p>
  </div>

  <!-- List group -->
  <ul class="list-group">
    <li class="list-group-item">Cras justo odio</li>
    <li class="list-group-item">Dapibus ac facilisis in</li>
    <li class="list-group-item">Morbi leo risus</li>
    <li class="list-group-item">Porta ac consectetur ac</li>
    <li class="list-group-item">Vestibulum at eros</li>
  </ul>
</div>

Реагирующее встраивание

Разрешите браузерам определять размеры видео или слайдов на основе ширины содержащего блока, создавая внутреннее соотношение, которое будет правильно масштабироваться на любом устройстве.

Правила напрямую применяются к <iframe>, <embed>, <video>, и <object> элементам; при необходимости используйте явный дочерний класс .embed-responsive-item, чтобы сопоставить стилизацию для других атрибутов.

Совет профессионала! Вам не нужно включать frameborder="0" в ваши <iframe> элементы, так как мы переопределяем это для вас.

Открыть пример на getbootstrap.com
<!-- 16:9 aspect ratio -->
<div class="embed-responsive embed-responsive-16by9">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>

<!-- 4:3 aspect ratio -->
<div class="embed-responsive embed-responsive-4by3">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>

Блоки

Блок по умолчанию

Используйте блок в качестве простого эффекта для элемента, чтобы придать ему эффект вставки.

Открыть пример на getbootstrap.com
<div class="well">...</div>

Дополнительные классы

Управляйте отступами и закруглёнными углами с помощью двух дополнительных модификаторов классов.

Открыть пример на getbootstrap.com
<div class="well well-lg">...</div>
Открыть пример на getbootstrap.com
<div class="well well-sm">...</div>

© 2011–2020 Twitter, Inc.
© 2011–2020 The Bootstrap Authors
Code licensed under the MIT License.
Documentation licensed under the Creative Commons Attribution License v3.0.
https://getbootstrap.com/docs/3.4/components/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API