Шапка с вкладками

Здесь вы узнаете, как сделать шапку с вкладками при помощи CSS и JavaScript.


Шапка с вкладками

Нажимайте на кнопки "городов", чтобы включить соответствующую вкладку:

Москва

Москва - столица России.

Париж

Париж - это столица Франции.

Токио

Токио - это столица Японии.

Осло

Осло - это столица Норвегии.

Попробовать самому »

Как создать шапку с переключаемыми вкладками

Шаг 1) Добавляем HTML:

Пример


<div id="Moscow" class="tabcontent">
  <h1>Москва</h1>
  <p>Москва - столица России.</p>
</div>

<div id="Paris" class="tabcontent">
  <h1>Париж</h1>
  <p>Париж - это столица Франции.</p> 
</div>

<div id="Tokyo" class="tabcontent">
  <h1>Токио</h1>
  <p>Токио - это столица Японии.</p>
</div>

<div id="Oslo" class="tabcontent">
  <h1>Осло</h1>
  <p>Осло - это столица Норвегии.</p>
</div>

<button class="tablink" onclick="openCity('Moscow', this, 'red')" id="defaultOpen">Москва</button>
<button class="tablink" onclick="openCity('Paris', this, 'green')">Париж</button>
<button class="tablink" onclick="openCity('Tokyo', this, 'blue')">Токио</button>
<button class="tablink" onclick="openCity('Oslo', this, 'orange')">Осло</button>

Создаем кнопки, которые будут открывать содержимое заданных вкладок. По умолчанию все элементы <div> с атрибутом class="tabcontent" скрыты (при помощи CSS & JS). Когда пользователь нажимает на кнопку, он открывает содержимое вкладки, соответствующей этой кнопки.

Шаг 2) Добавляем CSS:

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

Пример


/* Стили кнопок */
.tablink {
  background-color: #555;
  color: white;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  font-size: 17px;
  width: 25%;
}

/* Изменяем цвет фона кнопки при наведении */
.tablink:hover {
  background-color: #777;
}

/* Стили по умолчанию содержимого вкладок */
.tabcontent {
  color: white;
  display: none;
  padding: 50px;
  text-align: center;
}

/* Индивидуальные стили содержимого вкладок */
#Moscow {background-color:red;}
#Paris {background-color:green;}
#Tokyo {background-color:blue;}
#Oslo {background-color:orange;}

Шаг 3) Добавляем JavaScript:

Пример


function openCity(cityName, elmnt, color) {
  // По умолчанию скрываем все элементы с class="tabcontent" */
  var i, tabcontent, tablinks;
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }

  // Удаляем фоновый цвет у всех кнопок
  tablinks = document.getElementsByClassName("tablink");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].style.backgroundColor = "";
  }

  // Показываем содержимое нужной вкладки
  document.getElementById(cityName).style.display = "block";

  // Добавляем нужный фоновый цвет для открывшей вкладку кнопки
  elmnt.style.backgroundColor = color;
}

// Получаем элемент с id="defaultOpen" и кликаем на него
document.getElementById("defaultOpen").click();

Попробовать самому »