지정된 탭 페이지 만들기
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"; }