지정된 탭 페이지 만들기

CSS와 JavaScript를 사용하여 마우스 호버시 탭 페이지를 전환하는 방법을 배웁니다.

호버 탭 페이지

메뉴 버튼에 마우스를 올려다대어 탭 페이지 내용을 표시하세요:

런던

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

파리

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

도쿄

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

직접 테스트해 보세요

호버 가능한 가로 태그 페이지를 생성합니다

첫 번째 단계 - HTML 추가:

<div class="tab">
  <button class="tablinks" onmouseover="openCity(event, 'London')">런던</button>
  <button class="tablinks" onmouseover="openCity(event, 'Paris')">파리</button>
  <button class="tablinks" onmouseover="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 추가:

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

/* 태그 페이지의 스타일을 설정합니다 */
.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;
}
/* 마우스 오버 시 버튼의 배경색을 변경합니다 */
.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;
  display: none;
}

제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";
}

직접 테스트해 보세요

관련 페이지

강의:어떻게 탭을 생성할 수 있습니까