반응형
💡 버튼을 눌렀을 때 특정 영역을 숨기거나 보여주고 싶다면?
웹페이지를 만들다 보면 FAQ 펼치기, 더보기 버튼, 숨겨진 안내창 표시처럼
클릭 시에만 특정 영역이 보이게 하거나 숨기고 싶을 때가 많아요.
이럴 때 CSS의 display 속성과 JavaScript의 style 조작을 활용하면 간단하게 구현할 수 있습니다.
🛠️ 버튼 클릭 시 영역 숨기기/보이기: 코드 예제와 설명
✅ 기본 예제 (JavaScript로 display 조작)
<button onclick="toggleBox()">보이기 / 숨기기</button>
<div id="target-box" style="display: none; border: 1px solid #333; padding: 10px; margin-top: 10px;">
여기에 숨겨진 내용이 들어갑니다.
</div>
<script>
function toggleBox() {
var box = document.getElementById('target-box');
if (box.style.display === 'none') {
box.style.display = 'block'; // 보이기
} else {
box.style.display = 'none'; // 숨기기
}
}
</script>
🎯 포인트 설명
- display: none; 👉 해당 요소를 완전히 숨김 (자리도 차지하지 않음)
- display: block; 👉 일반 블록 요소로 다시 보이게 설정
- if (box.style.display === 'none') 👉 현재 숨김 상태인지 확인 후 전환
⚡ 응용 예제: 처음에는 보이게 설정
<div id="target-box" style="display: block; border: 1px solid #333; padding: 10px;">
이 영역은 기본적으로 보입니다.
</div>
✔️ 기본 display를 block으로 두고, 버튼 클릭 시 숨기거나 다시 보이게 설정 가능.
🧩 display 외에 사용할 수 있는 다른 방법들
방법 | 설명 |
visibility: hidden; | 안 보이지만 자리 차지함 |
opacity: 0; | 투명하게 만들지만 클릭 가능 |
display: none; | 자리까지 사라짐, 클릭 불가 |
✅ 가장 깔끔하게 숨기려면 display: none; 사용!
🏁 마무리 요약
목표 | 방법 |
버튼 클릭 시 영역 숨기기 / 보이기 | display: none; → display: block; 전환 |
숨겨질 때 자리까지 없애고 싶다 | display: none; 사용 |
투명하게만 만들고 자리 유지 | visibility: hidden; 또는 opacity: 0; |
👉 다음 글 예고
[HTML] 버튼 클릭 시 페이지 맨 위로 부드럽게 올라가는 방법 (scroll behavior 활용)
이어서 알아볼게요! 놓치지 않으려면 "좋아요" 눌러주시고 "구독" 해주세요 😊
반응형
'개발 공부 > HTML' 카테고리의 다른 글
[HTML] 버튼 클릭 시 페이지 맨 위로 부드럽게 올라가는 법 (scroll behavior 활용) (1) | 2025.05.08 |
---|---|
[HTML] 버튼 클릭 시 다른 페이지로 이동하는 법 (a 태그 vs window.location) (1) | 2025.05.02 |
[HTML] div 안의 이미지 비율 유지하며 꽉 채우는 법 (object-fit 활용) (0) | 2025.05.01 |
[HTML] div 영역을 화면 정중앙에 배치하는 법 (flex + height 100vh 활용) (0) | 2025.04.30 |
[HTML] div 안의 글자 수직 가운데 정렬하는 법 (flex 활용) (0) | 2025.04.29 |