Адаптивные вкладки с иконками для лучшего UX: дизайн для всех экранов
Адаптивные вкладки с иконками и современным дизайном. Отличная навигация для всех экранов с поддержкой мобильной адаптивности.
See the Pen Адаптивные вкладки с иконками для лучшего UX: дизайн для всех экранов by SATAMAX.RU (@lvpzgyft-the-typescripter) on CodePen.
HTML
<div class="side-tabs">
<ul class="tab-menu">
<li class="active"><a href="#tab1"><span class="tab-icon">🎮</span><span class="tab-text">Игры</span></a></li>
<li><a href="#tab2"><span class="tab-icon">🕹️</span><span class="tab-text">Контроллер</span></a></li>
<li><a href="#tab3"><span class="tab-icon">👾</span><span class="tab-text">Галактика</span></a></li>
</ul>
<div class="tab-content">
<div id="tab1" class="tab-panel active">
<h3>Лучшие игры для всех</h3>
<p>Здесь вы найдете топовые игры, которые завоевали сердца миллионов игроков по всему миру.</p>
</div>
<div id="tab2" class="tab-panel">
<h3>Контроллеры и устройства</h3>
<p>Рассмотрим лучшие геймпады и аксессуары для вашего игрового опыта.</p>
</div>
<div id="tab3" class="tab-panel">
<h3>Галактика видеоигр</h3>
<p>Погружение в самые лучшие игры в жанре космических приключений и фантастики.</p>
</div>
</div>
</div>
CSS
/* Разработчик SATAMAX.RU [https://satamax.ru] *//* Общий стиль для боковых вкладок */.side-tabs {font-family: 'Arial', sans-serif;display: flex;max-width: 1000px;margin: 20px auto;border-radius: 10px;overflow: hidden;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);}/* Стили для меню вкладок */.tab-menu {list-style: none;padding: 0;margin: 0;background: #f5f5f5;width: 70px;display: flex;flex-direction: column;justify-content: space-around;border-radius: 0 0 0 10px; /* Убираем закругления сверху и снизу */}.tab-menu li {flex: 1;text-align: center;}.tab-menu a {display: flex;justify-content: center;align-items: center;padding: 15px;text-decoration: none;color: #333; /* Тёмно-серый текст */font-size: 18px;transition: all 0.3s ease-in-out;}/* Иконки и текст */.tab-icon {font-size: 24px;margin-right: 8px;display: inline-block;padding: 5px;}.tab-text {display: inline-block;transition: opacity 0.3s ease;}/* Скрытие текста на узких экранах */@media (max-width: 768px) {.tab-text {display: none;}.tab-icon {margin-right: 0;}}/* Стили для активной вкладки */.tab-menu li.active a,.tab-menu a:hover {background: #d6f7ff; /* Светлый фон при наведении */color: #333;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);}/* Контент вкладок */.tab-content {padding: 20px;background: #ffffff;border-radius: 0 10px 10px 0;flex-grow: 1;}.tab-panel {display: none;}.tab-panel.active {display: block;}h3 {color: #333; /* Тёмно-серый цвет заголовка */font-size: 24px;margin: 0 0 10px;text-align: center;}p {margin: 0;font-size: 16px;color: #555;line-height: 1.6;text-align: center;}/* Медиа-запрос для мобильных устройств */@media (max-width: 768px) {.tab-menu a {font-size: 14px;padding: 10px 15px;}h3 {font-size: 20px;}}
JS
// Разработчик SATAMAX.RU [https://satamax.ru]document.addEventListener("DOMContentLoaded", function () {const tabs = document.querySelectorAll(".tab-menu li");const panels = document.querySelectorAll(".tab-panel");tabs.forEach((tab, index) => {tab.addEventListener("click", function (e) {e.preventDefault();// Удаляем активные классыtabs.forEach(t => t.classList.remove("active"));panels.forEach(panel => panel.classList.remove("active"));// Добавляем активный класс текущей вкладке и панелиtab.classList.add("active");panels[index].classList.add("active");});});});