만드는 방법: 수직 탭 페이지

CSS와 JavaScript를 사용하여 수직 탭 메뉴를 만들어보는 방법을 배웁니다.

수직 탭 페이지

탭 페이지는 단일 페이지 웹 애플리케이션 또는 다른 주제를 표시할 수 있는 웹 페이지에 매우 적합합니다.

런던

런던은 영국의 수도 도시입니다.

파리

파리는 프랑스의 수도입니다.

도쿄

도쿄는 일본의 수도입니다.

직접 시도해 보세요

가로 탭을 생성합니다

첫 번째 단계 - HTML 추가:

<div class="tab">
  <button class="tablinks" onclick="openCity(event, 'London')">런던</button>
  <button class="tablinks" onclick="openCity(event, 'Paris')">파리</button>
  <button class="tablinks" onclick="openCity(event, 'Tokyo')">도쿄</button>
</div>
<div id="London" class="tabcontent">
  <h3>런던</h3>
  <p>런던은 영국의 수도 도시입니다.</p>
</div>
<div id="Paris" class="tabcontent">
  <h3>파리</h3>
  <p>파리는 프랑스의 수도입니다.</p>
</div>
<div id="Tokyo" class="tabcontent">
  <h3>도쿄</h3>
  <p>도쿄는 일본의 수도입니다.</p>
</div>

특정 탭 페이지 내용을 열기 위한 버튼을 생성합니다. 모든 class="tabcontent"<div> 요소는 기본적으로 숨겨져 있습니다(CSS와 JS를 통해). 사용자가 버튼을 클릭할 때, 그 버튼과 일치하는 탭 페이지 내용이 열립니다.

두 번째 단계 - CSS 추가:

버튼과 탭 페이지 내용의 스타일을 설정합니다:

* {box-sizing: border-box}
/* 탭 스타일 설정 */
.tab {
  float: left;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
  width: 30%;
  height: 300px;
}
/* 설정된 태그 페이지 내용을 열기 위한 버튼 스타일 */
.tab button {
  display: block;
  background-color: inherit;
  color: black;
  padding: 22px 16px;
  width: 100%;
  border: none;
  outline: none;
  text-align: left;
  cursor: pointer;
  transition: 0.3s;
}
/* 更改悬停时按钮的背景颜色 */
.tab button:hover {
  background-color: #ddd;
}
/* 创建活动/当前的“标签页按钮”类 */
.tab button.active {
  background-color: #ccc;
}
/* 设置标签页内容的样式 */
.tabcontent {
  float: left;
  padding: 0px 12px;
  border: 1px solid #ccc;
  width: 70%;
  border-left: none;
  height: 300px;
}

제3단계 - JavaScript 추가:

function openCity(evt, cityName) {
  // 声明所有变量
  var i, tabcontent, tablinks;
  // 获取所有带有 class="tabcontent" 的元素并隐藏它们
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  // 获取所有带有 class="tablinks" 的元素并删除 "active" 类
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }
  // 显示当前标签页,并向打开标签页的链接添加 "active" 类
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " active";
}

직접 시도해 보세요

관련 페이지

강의:수평 탭 생성 방법