CSS와 JavaScript를 활용하면 버튼 하나로 열고 닫을 수 있는 전체 화면(fullscreen) 검색 상자를 간단하게 구현할 수 있습니다. 아래 예제에서는 반투명 오버레이 배경 위에 검색 입력창을 띄우는 방식으로 전체 화면 검색창을 만들어 보겠습니다.
예제 코드
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/fontawesome.min.css">
<style>
body {
font-family: Arial;
}
* {
box-sizing: border-box;
}
.showBtn {
background: #008b0c;
border: none;
color:white;
padding: 10px 15px;
font-size: 20px;
cursor: pointer;
opacity: 0.8;
}
.showBtn:hover {
opacity: 1;
}
.overlaySearch {
height: 100%;
width: 100%;
display: none;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: rgba(132, 150, 155, 0.747);
}
.searchBar {
position: relative;
top: 46%;
width: 80%;
text-align: center;
margin-top: 30px;
margin: auto;
}
.overlaySearch .hideBtn {
position: absolute;
top: 20px;
right: 45px;
font-size: 60px;
cursor: pointer;
color: rgb(255, 0, 0);
opacity: 0.8;
}
.overlaySearch .hideBtn:hover {
opacity: 1;
}
.overlaySearch input[type=text] {
padding: 15px;
font-size: 17px;
border: none;
float: left;
width: 80%;
background: white;
}
.overlaySearch input[type=text]:hover {
background: #f1f1f1;
}
.overlaySearch button {
float: left;
width: 20%;
padding: 15px;
background: rgb(54, 21, 241);
font-size: 17px;
border: none;
color:white;
cursor: pointer;
opacity: 0.8;
}
.overlaySearch button:hover {
opacity: 1;
}
</style>
</head>
<body>
<div class="overlaySearch" >
<span class="hideBtn">×</span>
<div class="searchBar">
<form >
<input type="text" placeholder="Search Here..">
<button type="submit"><i class="fa fa-search"></i></button>
</form>
</div>
</div>
<h1>Fullscreen Search Example</h1>
<button class="showBtn">Open Search Box</button>
<h2>Click on the above button to open search box in full screen</h2>
<script>
document.querySelector('.hideBtn').addEventListener('click',hideSearch);
document.querySelector('.showBtn').addEventListener('click',showSearch);
function showSearch() {
document.querySelector('.overlaySearch').style.display = "block";
}
function hideSearch() {
document.querySelector('.overlaySearch').style.display = "none";
}
</script>
</body>
</html>출력 결과
위 코드를 실행하면 다음과 같은 초기 화면이 표시됩니다.

Open Search Box 버튼을 클릭하면 화면 전체를 덮는 검색 상자가 열립니다.

동작 원리
이 예제의 핵심 동작 방식은 다음과 같습니다.
- .overlaySearch: position: fixed와 width·height 100%를 사용해 화면 전체를 덮는 오버레이 레이어를 만듭니다. 기본값은 display: none으로 설정되어 처음에는 보이지 않습니다.
- showSearch(): 'Open Search Box' 버튼 클릭 시 오버레이의 display 값을 block으로 변경하여 검색창을 화면에 표시합니다.
- hideSearch(): 오른쪽 상단의 ×(닫기) 버튼 클릭 시 display 값을 none으로 되돌려 검색창을 닫습니다.
- 호버 효과: 버튼과 입력창에 opacity 및 background 색상 변화를 적용해 마우스를 올렸을 때 자연스러운 시각적 피드백을 제공합니다.
이처럼 CSS의 고정 위치 오버레이와 JavaScript의 간단한 display 토글만으로도 별도의 라이브러리 없이 세련된 전체 화면 검색 UI를 손쉽게 완성할 수 있습니다.