<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
<style>
.box {
border: 1px solid black;
padding: 10px;
}
#innerBox1 {
display: none;
}
#innerBox2 {
visibility: hidden;
}
</style>
</head>
<body>
<h1>나타내기</h1>
<button onclick="showByDisplay()">display로 나타내기</button>
<button onclick="showByVisible()">visible로 나타내기</button>
<div class="box" id="outerBox">
<div class="box" id="innerBox1">내부박스1</div>
<div class="box" id="innerBox2">내부박스2</div>
</div>
<script>
function showByDisplay() {
let el = document.querySelector("#innerBox1");
el.style.display = "block";
}
function showByVisible() {
let el = document.querySelector("#innerBox2");
el.style.visibility = "visible";
}
</script>
</body>
</html>메서드 | 숨김 방식 | 나타내기 방식 | DOM 트리 존재 여부 | 공간 차지 여부 |
display = "none" | 완전히 숨김 | display = "block" | ❌ 존재하지 않음 | ❌ 차지하지 않음 |
visibility = "hidden" | 공간 유지하며 숨김 | visibility = "visible" | ✅ 존재함 | ✅ 차지함 |


Share article