Выравнивание пунктов в мобильном представлении меню выполняется посредством добавления класса text-right или text-center к элементу с классом navbar-nav:
...
<!-- Выравнивание пунктов по правому краю -->
<ul>
...
...
<!-- Выравнивание пунктов по центру -->
<ul>
...
Компоненты Bootstrap
Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core
Последнее обновление: 31.10.2015
Bootstrap имеет ряд компонентов, которые не сводятся к стандартным кнопкам или текстовым полям, а представляют более сложные элементы.
Полный список компонентов Bootstrap можно найти на официальной странице проекта http://getbootstrap.com/components/.
Рассмотрим вкратце некоторые из них.
Навигационные панели
Первый компонент Bootstrap, с которым мы сталкиваемся в проекте, это навигационная панель. Данный компонент располагается на мастер-странице
_Layout:
И даже если мы сузим границы веб-браузера или запустим сайт на мобильном устройстве, то мы увидим, что панель навигации остается достаточно функциональной:
Компонент представляет класс navbar
. Чтобы панель была фиксирована по верху страницы, используется также класс navbar-fixed-top.
Если бы мы, наоборот, захотели фиксировать панель по низу, то в этом случае использовали бы класс navbar-fixed-bottom
И также в объявлении блока навигации используется класс navbar-inverse, который инвертирует цвета по умолчанию. Вместо этого класса
мы могли бы использовать navbar-default, тогда в этом случае у нас бы было меню стандартных светлых тонов.
Для создания ссылок навигации применяется класс nav. Bootstrap представляет несколько классов для оформления ссылок навигации.
По умолчанию используется класс navbar-nav, но мы можем использовать и другие возможности.
Для создания навигации по типу вкладок применяется класс nav-tabs. Так, например следующее меню:
<ul>
<li class ="active">@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.
Для оформления кусков текста в качестве меток мы можем использовать класс label. Также мы можем использовать
дополнительные классы меток, чтобы конкретизировать тип сообщения:
<div>Задача успешно завершена</div>
<div>Дополнительная информация</div>
<div>Внимание!</div>
<div>Опасно!</div>
Это только некоторые компоненты, которые предлагает Bootstrap. Но уже по ним можно увидеть, что Bootstrap довольно гибок, и даже сложные по структуре компоненты
может легко адаптировать и приспособить под конкретные устройства.
НазадСодержаниеВперед
Навбар · Начальная загрузка
Документация и примеры для мощного, отзывчивого навигационного заголовка 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 , как показано ниже.
Разместите различные элементы управления и компоненты формы на панели навигации с помощью . form-inline .
<навигация>
<форма>
Поиск
форма>
Непосредственные дочерние элементы в .navbar используют гибкий макет и по умолчанию имеют значение justify-content: space-between . При необходимости используйте дополнительные гибкие утилиты, чтобы настроить это поведение.
Различные кнопки также поддерживаются как часть этих форм панели навигации. Это также отличное напоминание о том, что утилиты вертикального выравнивания можно использовать для выравнивания элементов разного размера.
<навигация>
<форма>
Главная кнопкаКнопка меньшего размера
форма>
Текст
Панели навигации могут содержать фрагменты текста с помощью .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 на панель навигации. Для панелей навигации, которые всегда схлопываются, не добавляйте .navbar-expand класс.
Переключатель
Переключатели
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.