Весь комплекс печатных услуг в Перми. Общирная сеть печатных салонов в Перми. Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми
Bootstrap 4 разметка: Система сеток. Разметка · Bootstrap. Версия v4.0.0
Содержание
Грид-разметка CSS: модуль CSS Grid Layout
5 июля, 2022 12:28 пп
64 views
| Комментариев нет
Development | Amber
| Комментировать запись
Flexbox, конечно, великолепный инструмент, но его основная цель — помочь с позиционированием элементов только в одном измерении, горизонтальном или вертикальном. Для двумерного макета всей страницы мы в основном полагались на такие фреймворки, как Bootstrap или Foundation, которые предоставляют нам классы, которые мы можем использовать для создания макета сетки. Новый модуль CSS Grid Layout, который скоро будет доступен в браузерах, должен изменить все это.
Давайте рассмотрим CSS Grid с очень кратким обзором. Во-первых, несколько ключевых моментов, о которых следует помнить:
Как и в Flexbox, в CSS Grid исходный порядок не имеет значения, элементы можно легко перемещать в зависимости от размера области просмотра.
Начать использовать грид-разметку можно прямо сейчас. Обнаружение функций с помощью @supports позволит вам применять разметку только в браузерах, которые ее поддерживают.
CSS Grid позволяет реализовать некоторые макеты, которые невозможно реализовать даже с помощью грид-системы современных фреймворков CSS.
Основные понятия CSS Grid
Прежде чем приступить к работе с CSS Grid, неплохо было бы ознакомиться с терминологией.
Грид-линия: элементы располагаются в сетке, а линии отмечают, где начинается и заканчивается элемент. Поэтому грид-линии играют ведущую роль в работе CSS Grid. Грид-линии столбцов нумеруются слева направо, начиная с 1; линии строк нумеруются сверху вниз, начиная с 1.
Грид-полосы (или грид-треки) – это пространство между двумя грид-линиями.
Грид-область – это область, определяемая любыми 4 линиями сетки.
Грид-ячейка – пространство на пересечении конкретного столбца и строки; наименьшая единица, возможная в сетке.
Родительские и дочерние элементы грид-разметки
Грид-разметка включает в себя элемент контейнера и дочерние элементы, которые становятся элементами сетки (немного напоминает flexbox). Для элемента контейнера достаточно установить display: grid. Строки и столбцы сетки определяются с помощью grid-template-columns и grid-template-rows.
Мы получаем интересный результат, даже не задавая никаких свойств элементам сетки:
Обратите внимание: мы добавили 10 пикселей по горизонтали и 15 пикселей по вертикали между ячейками, используя grid-gap.
Теперь мы можем пойти дальше и определить начальную и конечную линии конкретных элементов. Элементы, которые не размещены в сетке явно, будут размещены согласно алгоритму. Мы используем grid-column-start, grid-column-end, grid-row-start и grid-row-end, чтобы определить, где в сетке начинается и заканчивается элемент:
Примечание: Промежутки не добавляют новых линий сетки, поэтому элементы, расположенные рядом друг с другом, касаются одной и той же линии, даже если визуально их разделяет зазор.
Поддержка CSS Grid Layout
Этот модуль по умолчанию поддерживается в Firefox, начиная с версии 52. Также он полностью поддерживается в последних версиях Chrome и Opera, а еще в IE и Edge, но с более старым синтаксисом.
Дополнительные материалы
В этом материале мы собрали лишь базовую информацию по вопросу. Однако в грид-разметке CSS есть еще много разных возможностей и функций. Если вы хотите развивать свои навыки работы с разметкой, читайте также:
Грид-разметка CSS: ключевое слово span
Грид-разметка CSS: как работает нотация repeat
Грид-разметка CSS: макет Holy Grail
Вот несколько отличных ресурсов для изучения тонкостей грид-разметки CSS:
Полное руководство по грид-разметке CSS
Примеры использования грид-разметки.
Демо-макеты от Джен Симмонс
Tags: CSS
Миграция
Руководство по обновлению с Bootstrap v3.x до версии v4.x с акцентом на основные изменения.
Bootstrap 4 является основным переписыванием почти всего проекта. Наиболее заметные изменения кратко излагаются ниже, за ними следуют более конкретные классы и поведенческие изменения для соответствующих компонентов.
Heads up!
This will be in flux as work on the v4 alphas progresses. Until then consider it incomplete, and we’d love pull requests to help keep it up to date.
Краткое содержание
Тут перечислены моменты, которые вам нужно знать при переходе с версии v3 на v4.
Поддержка браузера
Отброшена поддержка IE8, IE9 и iOS 6. V4 поддерижвает теперь только IE10 + и iOS 7+. Для сайтов, которые нуждаются в одном из них, используйте v3.
Добавлена официальная поддержка браузера Lollipop v5.0 и WebView. Более ранние версии браузера Android и WebView остаются только неофициально поддерживаемыми.
Глобальные изменения
По умолчанию Flexbox включен. В общем, это означает переход от floats и многого другого через наши компоненты.
Переключились с Less на Sass для наших исходных файлов CSS.
Переключились из px в rem как наш основной блок CSS, хотя пиксели по-прежнему используются для медиа-запросов и поведения сетки, поскольку размер видовых экранов не зависит от размера шрифта.
Глобальный размер шрифта увеличен с 14px до 16px.
Добавлен новый уровень сетки для небольших устройств на 576px и ниже (наш новый уровень xs).
Заменена отдельная необязательная тема с настраиваемыми параметрами через переменные SCSS (например, $enable-gradients: true).
Грид-система
Добавлена поддержка flexbox в сетке mixins и предопределенные классы.
В составе flexbox включена поддержка вертикальных и горизонтальных классов выравнивания.
Реконструированы grid mixinы для объединения make-col-span в make-col для сингулярного mixin.
Добавлен новый уровень сетки sm ниже 768px для более детального контроля. Теперь у нас есть xs, sm, md, lg, и xl. Это также означает, что каждый уровень был поднят на один уровень (поэтому .col-md-6 в v3 теперь .col-lg-6 в v4).
Изменены контрольные точки медиа-запросов сетки и ширины контейнера для учета нового уровня сетки и обеспечения того, чтобы столбцы были равномерно делимыми на 12 при максимальной ширине.
Теперь контрольные точки сетки и ширины контейнера обрабатываются с помощью карт Sass ($grid-breakpoints и $container-max-widths) вместо нескольких отдельных переменных. Они полностью заменяют переменные @screen-* и позволяют полностью настраивать уровни сетки.
Медиа-запросы также изменились. Вместо того, чтобы каждый раз повторять наши объявления медиа-запросов с одинаковым значением, теперь мы имеем @include media-breakpoint-up/down/only. Теперь, вместо того, чтобы писать @media (min-width: @screen-sm-min) { ... }, вы можете написать @include media-breakpoint-up(sm) { ... }.
Компоненты
Удалены панели, thumbnails и wells для нового всеохватывающего компонента, карточки.
Удален значок иконки Glyphicons. Если вам нужны значки, некоторые из них:
начальный вариант Glyphicons
Octicons
Font Awesome
Удален плагин Affix jQuery. Мы рекомендуем использовать position: sticky вместо polyfill. Смотрите HTML5 Please entry для получения подробной информации и рекомендаций по конкретным polyfill.
Если вы использовали Affix для применения дополнительных стилей без-position, polyfills могут не поддерживать ваш вариант использования. Одним из таких вариантов является сторонняя библиотека ScrollPos-Styler.
Удален компонент пейджера, поскольку он был по существу немного настроенными кнопками.
Реорганизованы почти все компоненты, чтобы использовать более невложенные классы вместо селекторов детей.
Разное
Не-адаптивное использование Bootstrap больше не поддерживается.
Отброшен онлайн-настройщик в пользу более обширной документации по настройке и настраиваемых сборок.
По компоненту
В этом списке перечислены ключевые изменения компонента между v3.x.x и v4.0.0.
Перезагрузка
Новым для Bootstrap 4 является Reboot, новая таблица стилей, которая основывается на нормализации с нашими собственными несколько самоуверенными стилями сброса. Селекторы, отображаемые в этом файле, используют только элементы — здесь нет классов. Это изолирует наши стили сброса от наших стилей компонентов для более модульного подхода. Некоторые из наиболее важных сбросов, которые это включает, изменение box-sizing: border-box, перемещение из em в блоки rem на многих элементах, стилях ссылок и многих сбросах форм элементов.
Типография
Переместили все .text- утилиты в файл _utilities.scss.
Удален .page-header поскольку, помимо границы, все его стили можно применять с помощью утилит.
.dl-horizontalбыл удален. Вместо этого используйте .row на <dl> и используйте классы столбцов сетки (или mixins) для дочерних элементов <dt> и <dd> children.
Пользовательское моделирование<blockquote> переместилось в классы—.blockquote и модификатор .blockquote-reverse.
.list-inline теперь требует, чтобы для его элементов списка детей был применен новый класс .list-inline-item.
Изображения
Переименованы .img-responsive в .img-fluid.
Переименованы . img-rounded в .rounded
Переименованы .img-circle в .rounded-circle
Таблицы
Почти все экземпляры селектора > были удалены, то есть вложенные таблицы теперь автоматически наследуют стили от своих родителей. Это значительно упрощает наши селекторы и потенциальные настройки.
В адаптивных таблицах больше не требуется оборачивать элемент. Вместо этого просто поставьте .table-responsive прямо на <table>.
Переименован .table-condensed в .table-sm для согласованности.
Добавлен новый параметр .table-inverse.
Добавлены модификаторы заголовков таблицы: .thead-default и .thead-inverse.
Переименованы контекстные классы, с добавлением префикса .table-. Следовательно, .active, . success, .warning, .danger и .table-info переименованы в .table-active, .table-success, .table-warning, .table-danger и .table-info.
Формы
Перемещенный элемент сбрасывается в файл _reboot.scss.
Переименован .control-label в .form-control-label.
Переименованы .input-lg и .input-sm в .form-control-lg и .form-control-sm, соответственно.
Удалены классы .form-group-* для простоты. Вместо этого используйте классы .form-control-*.
Уаделн .help-block и заменен .form-text для блочного справочного текста. Для встроенного справочного текста и других гибких параметров используйте служебные классы, например .text-muted.
Горизонтальные формы переработаны:
Удалено требование класса . form-horizontal.
.form-group больше не применяет стили из .row через mixin, поэтому .row теперь требуется для горизонтальных макетов сетки (например, <div>).
Добавлен новый класс .form-control-label для вертикально-центральных меток с .form-controls.
Добавлена поддержка пользовательских форм (для флажков, переключателей, выборов и входных файлов).
Кнопки
Переименован .btn-default в .btn-secondary.
Удален класс .btn-xs целиком, поскольку .btn-sm пропорционально намного меньше, чем в v3.
Функция кнопки состояния плагина jQuery button.js была удалена. Сюда входят методы $().button(string) и $().button('reset') Вместо этого мы советуем использовать небольшой пользовательский JavaScript, который будет иметь преимущество в том, чтобы вести себя именно так, как вы этого хотите.
Обратите внимание, что другие функции плагина (флажки кнопок, кнопочные переключатели, кнопки с одним переключателем) были сохранены в v4.
Группа кнопок
Компонент переписан с flexbox.
Удален класс .btn-group-xs полностью с учетом удаления .btn-xs.
Удалены явные интервалы между группами кнопок в панелях инструментов кнопок; теперь используйте утилиты margin.
Улучшена документация для использования с другими компонентами.
Выпадающие списки
Переключены из родительских селекторов в особые классы для всех компонентов, модификаторов и т. д.
Упрощенные стили выпадающих списков больше не поставляются со стрелками вверх или вниз, прикрепленными к раскрывающемуся меню.
Выпадающие списки теперь можно создавать с помощью <div> или <ul>.
Перестроены выпадающие стили и разметка для того, чтобы обеспечить удобную встроенную поддержку раскрывающихся элементов на основе <a> и <button>.
Переименован .divider в .dropdown-divider.
Выпадающим элементам теперь требуется .dropdown-item.
Выпадающим переключателям больше не требуется явный <span></span>; теперь это предоставляется автоматически через CSS ::after на .dropdown-toggle.
Грид-система
Добавлена новая точка останова сетки 576px в виде sm, что означает, что теперь есть пять полных уровней (xs, sm, md, lg, и xl).
Переименоваys классы адаптивных сеток из .col-{breakpoint}-{modifier}-{size} в .{modifier}-{breakpoint}-{size} для более простых классов сетки. Например, вместо .col-md-3.col-md-push-9 это .col-md-3.push-md-9.
Переработаны грид-mixins, чтобы объединить make-col и make-col-span в один make-col тем самым обеспечив, что mixins и предопределенные классы используют те же самые поведения float/flex.
Добавлены классы утилиты flexbox для грид-системы и компонентов.
Группы списков
Компонент переписан с flexbox.
Заменили a.list-group-item явным классом, .list-group-item-action, для моделирования версий ссылок и кнопок элементов группы списков.
Добавлен класс .list-group-flush для использования с картами.
Модальные окна
Компонент переписан с flexbox.
При перемещении в flexbox выравнивание значков отклоения в заголовке, скорее всего, не работает, поскольку мы больше не используем float. Сначала идет плавающее содержимое, но с flexbox это уже не так. Обновите значки отклоения, чтобы они шли после модальных заголовков, чтобы исправить это.
Опция remote (которая может использоваться для автоматической загрузки и вставки внешнего контента в модальное окно) и соответствующее событие loaded.bs.modal были удалены. Мы рекомендуем вместо этого использовать клиентскую шаблонизацию или фреймворк привязки данных или вызов самого jQuery.load.
Навигация
Компонент переписан с flexbox.
Удалены почти все > селекторы для упрощения стиля через невложенные классы.
Вместо селекторов, специфичных для HTML, таких как .nav > li > a, мы используем отдельные классы для .nav, .nav-item, и .nav-link. Это делает ваш HTML более гибким при одновременном увеличении расширяемости.
Навигационная панель
Navbar полностью переписан в flexbox с улучшенной поддержкой выравнивания, отклика и настройки.
Адаптивные поведения navbar теперь применяются к классу .navbar через необходимый.navbar-toggleable-{breakpoint} где вы выбираете, где свернуть навигационную панель. Раньше было меньше модификации переменной и требовалось перекомпиляция.
.navbar-default теперь .navbar-light, хотя .navbar-inverse остается прежним. Один из них требуется для каждой навигационной панели. Однако эти классы больше не устанавливают background-color; вместо этого они существенно влияют только на color.
Navbars теперь требует какой-то фоновой декларации. Выберите из наших утилит для фона (.bg-*) или установите свои собственные с помощью классов light / inverse выше для любой кастомизации.
С учетом стилей flexbox, навигационная панель теперь может использовать утилиты flexbox для упрощения выравнивания.
. navbar-toggle теперь .navbar-toggler и имеет разные стили и внутреннюю разметку (не более трех <span>).
Полностью исключен класс .navbar-form. Он больше не нужен; вместо этого просто используйте .form-inline и примените при необходимости margin утилиты.
По умолчанию навигационная панель не включает поля margin-bottom или border-radius. При необходимости используйте утилиты.
Все примеры с navbar были обновлены, чтобы включить новую разметку.
Компонент переписан с flexbox.
Явные классы (.page-item, .page-link) теперь требуются от потомков .pagination
Удален компонент .pager целиком, так как он был немного больше, чем настраиваемые кнопки контура.
Явный класс, .breadcrumb-item, теперь требуется от потомков . breadcrumb
Ярлыки, значки и теги
Переименован .label в .tag для устранения неоднозначности из элемента <label>.
Удален компонент .badge поскольку он почти идентичен ярлыкам / тегам. Вместо этого используйте модификатор .tag-pill вместе с компонентом метки.
Теги больше не размещаются автоматически в группах списков и других компонентах. Для этого теперь требуются классы утилит.
Панели, thumbnails и wells
Удалены полностью для нового компонента карты.
Панели
.panel в .card, теперь построенный с flexbox.
.panel-default удален и не заменен.
.panel-group удален и не заменен. .card-group — это не замена, они разные
.panel-heading в . card-header
.panel-title в .card-title. В зависимости от желаемого вида вы также можете использовать элементы или классы заголовков (например, <h4>, .h4) или полужирные элементы или классы (например, <strong>, <b>, .font-weight-bold). Обратите внимание, что .card-title, хотя и имеет аналогичное имя, производит иной вид, чем .panel-title.
.panel-body в .card-block
.panel-footer в .card-footer
.panel-primary в .card-primary и .card-inverse (или используйте .bg-primary на .card-header)
.panel-success в .card-success и .card-inverse (или используйте .bg-success на .card-header)
. panel-info в .card-info и .card-inverse (или используйте .bg-info на .card-header)
.panel-warning в .card-warning и .card-inverse (или используйте .bg-warning на .card-header)
.panel-danger в .card-danger и .card-inverse (или используйте .bg-danger на .card-header)
Подсказки
Удалена поддержка параметров auto размещения.
Информеры
Удалена поддержка параметров auto размещения.
Карусель
Переработан весь компонент, чтобы упростить дизайн и стиль. У нас есть меньше стилей для переопределения, новые индикаторы и новые значки.
Все CSS были невложенными и переименованы, гарантируя каждому классу префикс . carousel-.
Для элементов карусели, .next, .prev, .left, и .right теперь являются следующими: .carousel-item-next, .carousel-item-prev, .carousel-item-left, и .carousel-item-right.
.item также сейчас .carousel-item.
Для prev/next элементов управления .carousel-control.right и .carousel-control.left теперь являются .carousel-control-right и .carousel-control-left, то есть они больше не требуют определенного базового класса.
Удалены все адаптивные стили, отложенные до утилит (например, показ титров на некоторых видовых экранах) и пользовательские стили по мере необходимости.
Удалены переопределения изображений для изображений в карусельных элементах, отложенные до утилит.
Изменен пример Carousel, в него включена новая разметка и стили.
Утилиты
Утилиты отображения экрана стали адаптивными (например, .d-none и d-{sm,md,lg,xl}-none).
Добавлены классыd .float-{sm,md,lg,xl}-{left,right,none} для адаптивных floats и удалены .pull-left и .pull-right поскольку они избыточны для .float-left и .float-right.
Добавлены адаптивные вариации для наших классов выравнивания текста .text-{sm,md,lg,xl}-{left,center,right}.
Добавлены новые margin auto утилиты для всех сторон, а также вертикальные и горизонтальные сокращения.
Добавлена boatload утилит flexbox.
Удален .center-block для нового класса .mx-auto.
Vendor prefix mixins
vendor prefix mixins из Bootstrap 3, которые были исключены в v3.2.0, удалены в Bootstrap 4. Поскольку мы используем Autoprefixer, они больше не нужны.
Наша документация также получила обновление по всем направлениям:
ы по-прежнему используем Jekyll, но у нас есть настраиваемые плагины:
example. rb — это fork плагина по умлочанию highlight.rb, позволяющая упростить обработку кода.
callout.rb является аналогичным fork, но предназначен для наших специальных выносок документов.
Все содержимое документов было переписано в Markdown (вместо HTML) для упрощения редактирования.
Страницы были реорганизованы для более простого контента и более доступной иерархии.
Мы перешли с обычного CSS на SCSS, чтобы в полной мере использовать переменные Bootstrap, mixins и многое другое.
Адаптивные утилиты
Все @screen- переменные были удалены в v4.0.0. Вместо этого используйте media-breakpoint-up(), media-breakpoint-down(), или media-breakpoint-only() Sass mixins или $grid-breakpoints карту Sass.
Адаптивные классы утилит также были пересмотрены.
Классы . hidden и .show были удалены, потому что они противоречили методам jQuery $(...).hide() и $(...).show() Вместо этого попробуйте переключить атрибут [hidden], используйте встроенные стили, такие как style="display: none;" и style="display: block;", или переключите класс .invisible.
Старые классы (.hidden-xs.hidden-sm.hidden-md.hidden-lg.visible-xs-block.visible-xs-inline.visible-xs-inline-block.visible-sm-block.visible-sm-inline.visible-sm-inline-block.visible-md-block.visible-md-inline.visible-md-inline-block.visible-lg-block.visible-lg-inline.visible-lg-inline-block) исчезли.
Они были заменены на .hidden-xs-up.hidden-xs-down. hidden-sm-up.hidden-sm-down.hidden-md-up.hidden-md-down.hidden-lg-up.hidden-lg-down.
Классы .hidden-*-up скрывают элемент, когда область просмотра находится в заданной точке останова или больше (например, .hidden-md-up скрывает элемент на средних, больших и очень больших устройствах).
Классы .hidden-*-down скрывают элемент, когда область просмотра находится в данной точке останова или меньше (например, .hidden-md-down скрывает элемент на сверхмалых, малых и средних устройствах).
Вместо того, чтобы использовать явные классы .visible-* вы делаете элемент видимым, просто не скрывая его при этом размере экрана. Вы можете объединить один класс .hidden-*-up с одним классом .hidden-*-down, чтобы отображать элемент только на заданном интервале размеров экрана (например, .hidden-sm-down. hidden-xl-up показывает элемент только на средних и больших устройствах).
Обратите внимание, что изменения точек останова в v4 означают, что вам нужно увеличить одну точку останова для достижения одинаковых результатов (например, .hidden-md больше похожа на .hidden-lg-down, чем на .hidden-md-down). Новые адаптивные классы утилит не пытаются учитывать менее распространенные случаи, когда видимость элемента не может быть выражена как один непрерывный диапазон размеров видового экрана; в этом случае вам понадобится использовать пользовательский CSS.
Различные примечания для определения приоритетов
Удалена min--moz-device-pixel-ratio для медиа-запросов.
Измениен [disabled] кнопок на :disabled, так как IE9+ поддерживает :disabled. Однако fieldset[disabled] по-прежнему необходимо, потому что нативные отключенные поля в IE11 по-прежнему неактивны.
TODO: просмотреть список вещей в v3, которые были помечены как устаревшие.
Дополнительные замечания
Удалена поддержка стилизованных вложенных таблиц (на данный момент)
Комментарии
На сайте функционирует система проверки ошибок. Обнаружив неточность в тексте, выделите ее и нажмите Ctrl + Enter.
Please enable JavaScript to view the comments powered by Disqus.
Поддержать проект
Навбар · Начальная загрузка
Документация и примеры для мощного, отзывчивого навигационного заголовка Bootstrap, панели навигации. Включает поддержку фирменного стиля, навигации и многого другого, включая поддержку нашего плагина для сворачивания.
Как это работает
Вот что вам нужно знать перед началом работы с панелью навигации:
Для панелей навигации требуется упаковка . navbar с .navbar-expand{-sm|-md|-lg|-xl} для адаптивного свертывания и классов цветовых схем.
Панели навигации и их содержимое по умолчанию изменчивы. Используйте дополнительные контейнеры, чтобы ограничить их ширину по горизонтали.
Используйте наши служебные классы spacing и flex для управления интервалами и выравниванием в панелях навигации.
Панели навигации по умолчанию реагируют, но вы можете легко изменить их, чтобы изменить это. Отзывчивое поведение зависит от нашего подключаемого модуля Collapse JavaScript.
Панели навигации по умолчанию скрыты при печати. Заставьте их распечатать, добавив .d-print до .navbar . См. служебный класс дисплея.
Обеспечьте доступность с помощью элемента или, если используется более общий элемент, такой как
, добавьте role="navigation" на каждую панель навигации, чтобы явно идентифицировать ее как область ориентира для пользователей вспомогательных технологий.
Прочтите пример и список поддерживаемых подкомпонентов.
Поддерживаемый контент
Navbars поставляются со встроенной поддержкой нескольких подкомпонентов. При необходимости выберите из следующего:
.navbar-brand для названия вашей компании, продукта или проекта.
.navbar-nav для полноразмерной и облегченной навигации (включая поддержку раскрывающихся списков).
.navbar-toggler для использования с нашим подключаемым модулем сворачивания и другими функциями переключения навигации.
.form-inline для любых элементов управления и действий формы.
.navbar-text для добавления вертикально центрированных строк текста.
.collapse.navbar-collapse для группировки и скрытия содержимого панели навигации родительской точкой останова.
Вот пример всех подкомпонентов, включенных в адаптивную панель навигации в светлом стиле, которая автоматически сворачивается в контрольной точке lg (большой).
В этом примере используются служебные классы цвета ( bg-light ) и интервала ( my-2 , my-lg-0 , mr-sm-0 , my-sm-0 ).
Марка
.navbar-brand можно применить к большинству элементов, но якорь работает лучше всего, поскольку для некоторых элементов могут потребоваться служебные классы или пользовательские стили.
Добавление изображений в .navbar-brand , скорее всего, всегда потребует пользовательских стилей или утилит для правильного размера. Вот несколько примеров для демонстрации.
<навигация>
<а href="#">
<навигация>
<а href="#">
Начальная загрузка
Навигация
Навигационные ссылки
Navbar основаны на наших опциях . nav с собственным классом модификатора и требуют использования классов переключателей для правильного адаптивного стиля. Навигация в навигационных панелях также будет увеличиваться, чтобы занимать как можно больше горизонтального пространства , чтобы обеспечить надежное выравнивание содержимого вашей навигационной панели.
Активные состояния — с .active — для указания, что текущая страница может быть применена непосредственно к .nav-link или их непосредственному родителю .nav-элемент с.
Вы также можете использовать раскрывающиеся списки на панели навигации. Выпадающие меню требуют элемента-обертки для позиционирования, поэтому обязательно используйте отдельные и вложенные элементы для .nav-item и .nav-link , как показано ниже.
Различные кнопки также поддерживаются как часть этих форм панели навигации. Это также отличное напоминание о том, что утилиты вертикального выравнивания можно использовать для выравнивания элементов разного размера.
<навигация>
<форма>
Главная кнопкаКнопка меньшего размера
форма>
Текст
Панели навигации могут содержать фрагменты текста с помощью .navbar-text . Этот класс регулирует вертикальное выравнивание и горизонтальный интервал для строк текста.
<навигация>
<диапазон>
Текст на панели навигации со встроенным элементом
При необходимости смешивайте и сочетайте с другими компонентами и утилитами.
<диапазон>
Текст на панели навигации со встроенным элементом
Цветовые схемы
Создание тем для навигационной панели никогда не было проще благодаря сочетанию классов тем и утилит background-color . Выберите .navbar-light для использования со светлыми цветами фона или .navbar-dark для темных цветов фона. Затем настройте с помощью утилит .bg-* .
<навигация>
<навигация>
<навигация>
Контейнеры
Хотя это и не обязательно, вы можете поместить панель навигации в контейнер .container , чтобы центрировать ее на странице, или добавить ее внутри, чтобы центрировать только содержимое фиксированной или статической верхней панели навигации.
Когда контейнер находится внутри вашей панели навигации, его горизонтальное заполнение удаляется в точках останова ниже указанного вами класса .navbar-expand{-sm|-md|-lg|-xl} . Это гарантирует, что мы не удвоим отступы без необходимости на нижних окнах просмотра, когда ваша панель навигации свернута.
Используйте наши утилиты для размещения навигационных панелей в нестационарных позициях. Выберите фиксированный вверху, фиксированный внизу или прикрепленный кверху (прокручивается вместе со страницей, пока не достигнет верха, а затем остается там). Фиксированные панели навигации используют position: fixed , что означает, что они взяты из обычного потока DOM и могут потребовать пользовательского CSS (например, padding-top на ), чтобы предотвратить перекрытие с другими элементами.
Также обратите внимание, что .sticky-top использует позицию : sticky , которая не полностью поддерживается в каждом браузере .
Навигационные панели могут использовать классы . navbar-toggler , .navbar-collapse и .navbar-expand{-sm|-md|-lg|-xl} для изменения, когда их содержимое сворачивается за кнопкой. В сочетании с другими утилитами вы можете легко выбрать, когда показывать или скрывать определенные элементы.
Для панелей навигации, которые никогда не сворачиваются, добавьте класс .navbar-expand на панель навигации. Для навигационных панелей, которые всегда рушатся, не добавляйте 9.0010 .navbar-расширить класс .
Переключатель
Переключатели
Navbar по умолчанию выровнены по левому краю, но если они следуют за родственным элементом, например .navbar-brand , они автоматически будут выровнены по крайнему правому краю. Изменение разметки на противоположное приведет к обратному размещению переключателя. Ниже приведены примеры различных стилей переключения.
Без .navbar-brand , показанного в нижней контрольной точке:
Иногда вы хотите использовать подключаемый модуль свертывания, чтобы активировать скрытый контент в другом месте страницы. Поскольку наш плагин работает с совпадением id и data-target , это легко сделать!
Свернутое содержимое
Переключается через бренд навигационной панели.
<дел>
<дел>
<дел>
Свернутый контент
Переключается с помощью бренда на панели навигации.
<навигация>
<промежуток> промежуток>
кнопка>
дел>
Navs · Начальная загрузка
Документация и примеры использования компонентов навигации, включенных в Bootstrap.
Базовая навигация
Навигация, доступная в Bootstrap, использует общую разметку и стили, от базового класса .nav до активных и отключенных состояний. Поменяйте местами классы модификаторов, чтобы переключаться между каждым стилем.
Базовый компонент .nav создан с помощью flexbox и обеспечивает прочную основу для создания всех типов навигационных компонентов. Он включает в себя некоторые переопределения стилей (для работы со списками), некоторые отступы ссылок для больших областей попадания и базовые отключенные стили.
Базовый компонент .nav не содержит состояния .active . Следующие примеры включают этот класс, главным образом для того, чтобы продемонстрировать, что этот конкретный класс не запускает никаких специальных стилей.
используются повсюду, поэтому ваша разметка может быть очень гибкой. Используйте
, как указано выше, или сверните свой собственный, скажем, с элементом . Поскольку .nav использует display: flex , ссылки навигации ведут себя так же, как и элементы навигации, но без дополнительной разметки.
Изменить стиль компонента .nav s с помощью модификаторов и утилит. Смешивайте и сочетайте по мере необходимости или создавайте свои собственные.
Горизонтальное выравнивание
Измените горизонтальное выравнивание вашей навигации с помощью утилит flexbox. По умолчанию навигация выровнена по левому краю, но вы можете легко изменить ее на центральную или правую.
Сложите свою навигацию, изменив направление гибкого элемента с помощью утилиты .flex-column . Нужно разместить их на одних окнах просмотра, но не на других? Используйте адаптивные версии (например, .flex-sm-column ).
Берет базовую навигацию сверху и добавляет класс .nav-tabs для создания интерфейса с вкладками. Используйте их для создания областей с вкладками с помощью нашего плагина JavaScript для вкладок.
Заставьте содержимое вашего . nav расширить всю доступную ширину одного из двух классов модификаторов. Чтобы пропорционально заполнить все доступное пространство вашими .nav-item s, используйте .nav-fill . Обратите внимание, что все горизонтальное пространство занято, но не все элементы навигации имеют одинаковую ширину.
Для элементов одинаковой ширины используйте . nav-justified . Все горизонтальное пространство будет занято навигационными ссылками, но в отличие от .nav-fill выше, каждый элемент навигации будет иметь одинаковую ширину.
Если вам нужны адаптивные варианты навигации, рассмотрите возможность использования ряда утилит flexbox. Несмотря на то, что эти утилиты более подробные, они предлагают более широкие возможности настройки реагирующих точек останова. В приведенном ниже примере наша навигация будет располагаться на самой нижней контрольной точке, а затем адаптироваться к горизонтальному макету, который заполняет доступную ширину, начиная с маленькой контрольной точки.
Если вы используете navs для предоставления панели навигации, обязательно добавьте role="navigation" в наиболее логичный родительский контейнер
или оберните элемент вокруг вся навигация. Не добавляйте роль к самому
, так как это помешает вспомогательным технологиям объявить ее как фактический список.
Обратите внимание, что панели навигации, даже если они визуально оформлены как вкладки с цифрой .nav-tabs класс, если , а не должны быть заданы role="tablist" , role="tab" или role="tabpanel" атрибуты. Они подходят только для динамических интерфейсов с вкладками, как описано в WAI ARIA Authoring Practices. См. пример поведения JavaScript для динамических интерфейсов с вкладками в этом разделе.
Использование раскрывающихся списков
Добавьте выпадающие меню с небольшим дополнительным HTML и подключаемым модулем раскрывающихся списков JavaScript.
Используйте подключаемый модуль JavaScript для вкладок — включите его отдельно или через скомпилированный файл bootstrap. js — чтобы расширить наши навигационные вкладки и планшеты для создания вкладок с локальным контентом, даже через раскрывающиеся меню.
Если вы создаете наш JavaScript из исходного кода, требуется util.js .
Динамические интерфейсы с вкладками, как описано в WAI ARIA Authoring Practices, требуют role="tablist" , role="tab" , role="tabpanel" и дополнительные атрибуты aria- для передачи их структуры, функциональности и текущего состояния пользователям вспомогательных технологий (таких как программы чтения с экрана).
Обратите внимание, что динамические интерфейсы с вкладками должны , а не содержать раскрывающиеся меню, так как это вызывает проблемы как с удобством использования, так и с доступностью. С точки зрения удобства использования тот факт, что элемент триггера текущей отображаемой вкладки не виден сразу (поскольку он находится внутри закрытого раскрывающегося меню), может вызвать путаницу. С точки зрения доступности в настоящее время нет разумного способа сопоставить такую конструкцию со стандартным шаблоном WAI ARIA, а это означает, что ее нелегко сделать понятной для пользователей вспомогательных технологий.
Дом
Профиль
Контакт
Raw denim Вы, наверное, не слышали о джинсовых шортах Austin. Nesciunt tofu stumptown aliqua, мастер очищения ретро-синтеза. Усы клише временные, Уильямсбург Карлес веганский Helvetica. Reprehenderit мясник ретро кефия ловец снов синтезатор. Свитер Cosby eu banh mi, qui irure Terry Richardson ex squid. Место Aliquip на шалфее для iPhone. Seitan aliquip quis кардиган американская одежда, мясник voluptate nisi qui.
Фургон с едой Fixie Locavore, accusamus mcsweeney’s marfa nulla кофейный кальмар одного происхождения. Упражнение +1 Labore velit, блог портновского PBR леггинсы следующий уровень Уэс Андерсон ремесленник четыре локо от фермы до стола крафтовое пиво тви. Qui фотобудка высокая печать, commodo enim крафтовое пиво mlkshk aliquip джинсовые шорты ullamco ad винил cillum PBR. Homo nostrud Organic, acceptda Labore Estetic magna delectus mollit. Keytar Helvetica VHS шалфей год, очень великий velit sapiente Labore Stumptown. Веганская поясная сумка Одио Силлум Уэс Андерсон 8-битные экологически чистые джинсовые шорты с бородой и биодизелем «сделай сам» этическая вина Терри Ричардсона. Сценастер арт-вечеринки stumptown, мясник tumblr vero sint qui sapiente accusamus, татуированный эхо-парк.
Etsy Mixtape wayfarers, этический тофу Уэса Андерсона до того, как они распродали органический ломо-поясную сумку McSweeney в стиле ретро, лоу-фай, готовый к употреблению с фермы на стол. Сумка-мессенджер gentrify, вилы, татуированные крафтовое пиво, iphone, скейтборд, locavore, carles, etsy, salvia, банкси, толстовка, Helvetica. Сделай сам синтезатор PBR Бэнкси ирония. Леггинсы облагораживают кальмара 8-bit cred вилы. Вильямсбург бань ми что угодно без глютена, карлес вилы биодизель фикси этси ретро млкшк вице-блог. Сценастер, которого вы, вероятно, не слышали о них, блог о виниловом крафтовом пиве stumptown. Pitchfork Устойчивый синтезатор тофу Chambray yr.
Чтобы удовлетворить ваши потребности, это работает с разметкой на основе
, как показано выше, или с любой произвольной разметкой «создайте свою собственную». Обратите внимание: если вы используете , вам не следует добавлять role="tablist" непосредственно к нему, так как это переопределит родную роль элемента в качестве ориентира навигации. Вместо этого переключитесь на альтернативный элемент (в примере ниже это простой
) и оберните вокруг него .
Et et consectetur ipsum Labore excludeeur est proident excludeeur ad velit occaecat qui minim occaecat veniam. Fugiat veniam incididunt anim aliqua enim pariatur veniam sunt est aute sit dolor anim. Velit non irure adipisicing aliqua ullamco irure incididunt irure non esse consectetur nostrud minim non minim occaecat. Amet duis do nisi duis veniam non est eiusmod tempor incididunt tempor dolor ipsum in qui sit. Упражнение mollit sit culpa nisi culpa non adipisicing reprehenderit do dolore. Duis reprehenderit occaecat anim ullamco ad duis occaecat ex.
Nulla est ullamco ut irure incididunt nulla Lorem Lorem minim irure officia enim reprehenderit. Magna duis Labore cillum sint adipisic exercitation ipsum. Nostrud ut anim non exercitation velit Laboris fugiat cupidat. Commodo esse dolore fugiat sint velit ullamco magna consequat voluptate minim amet aliquip ipsum aute Laboris nisi. Labore Labore Veniam irure irure ipsum pariatur mollit magna in cupidat dolore magna irure esse tempor ad mollit. Dolore commodo nulla minim amet ipsum officia consectetur amet ullamco voluptate nisi commodo ea sit eu.
Sint sit mollit irure quis est nostrud cillum consequat Lorem esse do quis dolor esse fugiat sunt do. Eu ex commodo veniam Lorem aliquip Laborum occaecat qui Lorem esse mollit dolore anim cupidatat. Deserunt officia id Lorem nostrud aute id commodo elit eiusmod enim irure amet eiusmod qui reprehenderit nostrud tempor. Fugiat ipsum excludeeur in aliqua non et quis aliquip ad irure in Labore cillum elit enim. Consequat aliquip incididunt ipsum et minim Laborum Laborum Laborum et cillum Labore. Deserunt adipisicing cillum id nulla minim nostrud Labore eiusmod et amet. Laboris consequat consequat commodo non ut non aliquip reprehenderit nulla anim occaecat. Sunt sit ullamco reprehenderit irure ea ullamco Lorem aute nostrud magna.
Consequat occaecat ullamco amet non eiusmod nostrud dolore irure incididunt est duis anim sunt officia. Fugiat velit proident aliquip nisi incididunt nostrud exercitation proident est nisi. Irure magna elit commodo anim ex veniam culpa eiusmod id nostrud sit cupidat in veniam ad. Eiusmod consequat eu adipisicing minim anim aliquip cupidat culpa excludeeur quis. Occaecat sit eu exercitation irure Lorem incididunt nostrud.
Ad pariatur nostrud pariatur exercitation ipsum ipsum culpa mollit commodo mollit ex. Aute sunt incididunt amet commodo est sint nisi deserunt pariatur do. Aliquip ex eiusmod voluptate exercitation cillum id incididunt elit sunt. Qui minim sit magna Lorem id et dolore velit Lorem amet exercitation duis deserunt. Anim id Labore elit adipisicing ut in id occaecat pariatur ut ullamco ea tempor duis.
Est quis nulla Laborum Officia ad nisi ex nostrud culpa Lorem excludeeur aliquip dolor aliqua irure ex. Nulla ut duis ipsum nisi elit fugiat commodo sunt reprehenderit Laborum veniam eu veniam. Eiusmod minim exercitation fugiat irure ex Labore Incididunt do fugiat commodo aliquip sit id deserunt reprehenderit aliquip nostrud. Amet ex cupidatat excludeeur aute veniam incididunt mollit cupidatat esse irure officia elit do ipsum ullamco Lorem. Ullamco ut ad minim do mollit Labore ipsum Laboris ipsum commodo sunt tempor enim incididunt. Commodo quis sunt dolore aliquip aute tempor irure magna enim minim reprehenderit. Ullamco consectetur culpa veniam sint cillum aliqua incididunt velit ullamco sunt ullamco quis quis commodo voluptate. Mollit nulla nostrud adipisicing aliqua cupidatat aliqua pariatur mollit voluptate voluptate consequat non.
Cillum ad ut irure tempor velit nostrud occaecat ullamco aliqua anim Lorem sint. Veniam sint duis incididunt do esse magna mollit excludeeur Laborum Qui. Id id reprehenderit sit est eu aliqua occaecat quis et velit excludeeur Laborum mollit dolore eiusmod. Ipsum dolor in occaecat commodo et voluptate minim reprehenderit mollit pariatur. Deserunt non Laborum enim et cillum eu Deserunt excludeeur ea incididunt minim occaecat.
Culpa dolor voluptate do Laboris Laboris irure reprehenderit id incididunt duis pariatur mollit aute magna pariatur consectetur. Eu veniam duis non ut dolor deserunt commodo et minim in quis Laboris ipsum velit id veniam. Quis ut consectetur adipisicing officia excludeeur non sit. Ut et elit aliquip Labore Lorem enim eu. Ullamco mollit occaecat dolore ipsum id officia mollit qui esse anim eiusmod do sint minim consectetur qui.
Fugiat id quis dolor culpa eiusmod anim velit exceptionur proident dolor aute qui magna. Ad proident Laboris ullamco esse anim Lorem Lorem veniam quis Lorem irure occaecat velit nostrud magna nulla. Velit et et proident Lorem do ea tempor officia dolor. Reprehenderit Lorem aliquip Labore est magna commodo est ea veniam consectetur.
Eu dolore ea ullamco dolore lorem id cupidatat excludeeur reprehenderit consectetur elit id dolor proident in cupidat officia. Voluptate excludeeur commodo Labore nisi cillum duis aliqua do. Aliqua amet qui mollit consectetur nulla mollit velit aliqua veniam nisi id do Lorem deserunt amet. Culpa ullamco sit adipisicing Labore officia magna elit nisi in aute tempor commodo eiusmod.
Вы можете активировать навигацию по вкладкам или планшетам без написания JavaScript, просто указав data-toggle="tab" или data-toggle="pill" для элемента. Используйте эти атрибуты данных на .nav-tabs или .nav-pills .
Включить вкладки с вкладками через JavaScript (каждая вкладка должна быть активирована отдельно):
$('#myTab a').on('щелчок', function (e) {
e.preventDefault()
$(это).вкладка('показать')
})
Активировать отдельные вкладки можно несколькими способами:
$('#myTab a[href="#profile"]').tab('show') // Выбрать вкладку по имени
$('#myTab li:first-child a').tab('show') // Выбрать первую вкладку
$('#myTab li:last-child a').tab('show') // Выбрать последнюю вкладку
$('#myTab li:nth-child(3) a').tab('show') // Выбор третьей вкладки
Эффект затухания
Чтобы вкладки исчезали, добавьте .fade к каждой .tab-pane . Первая панель вкладок также должна иметь . show , чтобы сделать начальное содержимое видимым.
<дел>
...
...
...
...
дел>
Методы
Асинхронные методы и переходы
Все методы API являются асинхронными и запускают переход . Они возвращаются к вызывающей стороне, как только переход начинается, но до его завершения . Кроме того, вызов метода для переходного компонента будет игнорироваться .
Дополнительные сведения см. в нашей документации по JavaScript.
$(). вкладка
Активирует элемент вкладки и контейнер содержимого. Вкладка должна иметь либо data-target или href , нацеленный на узел-контейнер в DOM.
Выбирает данную вкладку и показывает связанную с ней панель. Любая другая ранее выбранная вкладка становится невыбранной, а связанная с ней панель скрывается. Возвращает вызывающему объекту до фактического отображения панели вкладок (т. е. до возникновения события visible.bs.tab ).
$('#someTab').tab('show')
.tab(‘dispose’)
Уничтожает вкладку элемента.
События
При отображении новой вкладки события запускаются в следующем порядке:
hide.bs.tab (на текущей активной вкладке)
show.bs.tab (на вкладке для отображения)
hidden. bs.tab (на предыдущей активной вкладке, та же, что и для события hide.bs.tab )
visible.bs.tab (на новоактивной только что показанной вкладке, такой же, как и для события show.bs.tab )
Если ни одна вкладка не была активной, то hide.bs.tab и hidden.bs.tab 9События 0011 не будут запущены.
Тип события
Описание
show.bs.tab
Это событие возникает при показе вкладки, но до того, как будет показана новая вкладка. Используйте event.target и event.relatedTarget , чтобы выбрать активную вкладку и предыдущую активную вкладку (если она доступна) соответственно.
показана.bs.tab
Это событие срабатывает при показе вкладки после того, как вкладка была показана. Используйте event.target и event.relatedTarget для таргетинга на активную вкладку и предыдущую активную вкладку (если она доступна) соответственно.