Вкладки (или табы) – это метод организации контента без перезагрузки страницы. Создание вкладок требует хорошего понимания HTML, CSS и JavaScript. Давайте начнем с создания вкладок с использованием чистого JavaScript.

Создание вкладок с использованием чистого JavaScript

  • Разметка HTML

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

«`html

<div class=»tabs»>

<div class=»tab-button» data-tab=»tab1″>1</div>

<div class=»tab-button» data-tab=»tab2″>2</div>

<div class=»tab-button» data-tab=»tab3″> 3</div>

</div>

<div id=»tab1″ class=»tab-content»>

<p>Содержимое</p>

</div>

<div id=»tab2″ class=»tab-content»>

<p>Содержимое</p>

</div>

<div id=»tab3″ class=»tab-content»>

<p>Содержимое</p>

</div>

«`

Сделали контейнер для вкладок (`.tabs`), кнопки (`.tab-button`), и контент (`.tab-content`). Каждая кнопка имеет атрибут `data-tab`, который указывает на соответствующий контент по его идентификатору.

  • Стилизация с CSS

Мы можем определить стили внешнего вида, такие как цвета, шрифты и размеры, в зависимости от дизайна вашего сайта.

«`css

.tabs {

display: flex;

}

.tab-button {

cursor: pointer;

padding: 10px 20px;

border: 1px solid #ccc;

background-color: #f0f0f0;

}

.tab-content {

display: none;

}

.tab-content.active {

display: block;

}

«`

  • JavaScript

Теперь давайте добавим JavaScript для обработки нажатий и переключения контента.

«`javascript

document.addEventListener(‘DOMContentLoaded’, function() {

const tabButtons = document.querySelectorAll(‘.tab-button’);

const tabContents = document.querySelectorAll(‘.tab-content’);

tabButtons.forEach(button => {

button.addEventListener(‘click’, function() {

// Очистить активные классы у кнопок и контента

tabButtons.forEach(btn => btn.classList.remove(‘active’));

tabContents.forEach(content => content.classList.remove(‘active’));

// Добавить активный класс к выбранной

const tabId = button.getAttribute(‘data-tab’);

document.getElementById(tabId).classList.add(‘active’);

button.classList.add(‘active’);

});

});

});

«`

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

Создание вкладок с использованием Bootstrap

Bootstrap – это популярный фреймворк для разработки сайтов, который предоставляет готовые компоненты, включая вкладки. Для использования Bootstrap, вам нужно подключить его CSS и JS файлы к вашему проекту.

Для этого достаточно в теге head прописать:

«`html

<link rel=»stylesheet» href=»https://cdn.jsdelivr.net/npm/bootstrap@5.7.2/dist/css/bootstrap.min.css»>

<script src=»https://cdn.jsdelivr.net/npm/bootstrap

@5.7.2/dist/js/bootstrap.min.js»></script>

«`

  • Разметка HTML

Создадим разметку с использованием Bootstrap:

«`html

<ul class=»nav nav-tabs» id=»myTab» role=»tablist»>

<li class=»nav-item» role=»presentation»>

<a class=»nav-link active» id=»tab1-tab» data-toggle=»tab» href=»#tab1″ role=»tab» aria-controls=»tab1″ aria-selected=»true»>Таб 1</a>

</li>

<li class=»nav-item» role=»presentation»>

<a class=»nav-link» id=»tab2-tab» data-toggle=»tab» href=»#tab2″ role=»tab» aria-controls=»tab2″ aria-selected=»false»>Таб 2</a>

</li>

<li class=»nav-item» role=»presentation»>

<a class=»nav-link» id=»tab3-tab» data-toggle=»tab» href=»#tab3″ role=»tab» aria-controls=»tab3″ aria-selected=»false»>Таб 3</a>

</li>

</ul>

<div class=»tab-content» id=»myTabContent»>

<div class=»tab-pane fade show active» id=»tab1″ role=»tabpanel» aria-labelledby=»tab1-tab»>Содержимое</div>

<div class=»tab-pane fade» id=»tab2″ role=»tabpanel» aria-labelledby=»tab2-tab»>Содержимое</div>

<div class=»tab-pane fade» id=»tab3″ role=»tabpanel» aria-labelledby=»tab3-tab»>Содержимое</div>

</div>

«`

  • JavaScript для Bootstrap

Bootstrap уже предоставляет встроенные функции и автоматически обрабатывает переключение при нажатии на кнопки.

Заключение

Создание вкладок на веб-странице – это отличный способ организовать и отображать разное содержимое пользователю. В этой статье мы рассмотрели два способа создания: с использованием чистого JS и с помощью Bootstrap. Выбор зависит от ваших предпочтений и требований проекта.