웹 디자인에서 고정 헤더는 사용자 경험과 탐색을 향상시키는 강력한 도구입니다. 사용자가 웹페이지를 아래로 스크롤할 때 고정 헤더가 계속 표시되므로 필수 탐색 링크에 항상 액세스할 수 있습니다. CSS를 사용하여 고정 헤더를 만드는 복잡한 과정을 자세히 살펴보세요.

고정 헤더는 어떤 용도로 사용하나요?

sticky” 속성. 고정 헤더를 구현하면 사용자가 스크롤하는 동안 사이트 콘텐츠의 시각적 연속성을 유지할 수 있으므로 헤더를 계속 수동으로 재배치할 필요가 없습니다. 따라서 탐색이 간소화되고 중요한 정보에 항상 쉽게 액세스할 수 있습니다.

사용자 인터페이스는 기본 탐색 요소에 대한 편리하고 원활한 접근성을 제공하여 페이지 상단을 향해 계속 스크롤할 필요가 없습니다.

기업의 로고 또는 브랜드 이름에 대한 가시성을 유지하여 전반적인 브랜드 아이덴티티를 유지하고 강화하는 데 도움이 됩니다.

고정 헤더는 기존의 사이드바 탐색이 필요 없도록 하여 화면 공간을 최대화하는 디자인 요소입니다. 이 접근 방식은 귀중한 공간을 확보하여 페이지의 주요 콘텐츠를 더 강조하고 전반적인 사용자 경험을 향상시킬 수 있습니다.

헤더 디자인하기: HTML 구조

견고하고 효과적인 고정 헤더를 구축하려면 먼저 적절한 HTML 구조를 만들어 기초를 다지는 것이 중요합니다. 이 구조를 만드는 과정에는 헤더의 빌딩 블록 역할을 할 특정 HTML 요소의 활용이 포함됩니다.

 <body>
   <header>
     <span class="logo">Company Logo ðŸ </span>
     <nav>
       <ul>
         <li><a href="#home">Home</a></li>
         <li><a href="#about">About</a></li>
         <li><a href="#services">Services</a></li>
         <li><a href="#contact">Contact</a></li>
       </ul>
     </nav>
   </header>
   <main id="home"><h1>Home page</h1></main>
   <section id="about"><h1>About</h1></section>
   <section id="services"><h1>Services</h1></section>
   <section id="contact"><h1>Contact</h1></section>
</body>

현재 레이아웃은 회사의 엠블럼을 포함하는 헤더 구성 요소와 구조화되지 않은 헤더 내에 정렬된 목록으로 구성된 탐색 배열을 사용합니다. 그 후 기본 분할 심볼과 여러 분할 심볼을 사용하여 표시되는 콘텐츠의 모든 분할 가능한 영역을 묘사합니다. 현재 웹사이트에는 다음과 같은 구성이 표시됩니다:

CSS로 기초 다지기

패딩, 여백, 플렉스박스 등의 상자 모델 속성을 활용하여 제공된 CSS 코드는 모든 플레이스홀더 섹션에 정의된 높이가 있는 매력적인 레이아웃을 구성합니다.

 @import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@600&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html { font-size: 62.5%; }

body { font-family: "Quicksand", sans-serif; }

main,
section { height: 100vh; }

.logo { font-size: 3rem; }

main,
header,
section {
  display: flex;
  align-items: center;
}

main { justify-content: center; }

header {
  justify-content: space-between;
  padding: 1rem 2rem;
  background: #b2babb;
}

nav ul {
  display: flex;
  column-gap: 2rem;
  list-style: none;
}

a {
  text-decoration: none;
  font-size: 2rem;
  color: #333;
}

section { justify-content: center; }

#home { background: #2c3e50; }

#about { background: #ccccff; }

#services { background: #f5b7b1; }

#contact { background: #40e0d0; }

h1 {
 font-size: 4rem;
 color: #fff;
}

[현재 페이지 레이아웃 및 콘텐츠에 대한 설명 삽입].

이 글도 확인해 보세요:  웹 개발을 위한 가장 인기 있는 8가지 백엔드 프레임워크

고정 효과 구현: CSS

CSS 위치 속성을 활용하면 위치 속성을 적절히 설정하여 헤더를 웹페이지에서 고정된 요소로 렌더링할 수 있습니다. 이는 헤더의 지정과 관련하여 “고정”이라는 용어를 사용하여 달성할 수 있습니다.

이 속성의 동작은 사용자의 현재 스크롤 위치에 따라 달라지는 상대적 위치 지정과 고정 위치 지정 특성이 혼합되어 나타납니다.

 header {
  justify-content: space-between;
  padding: 1rem 2rem;
  position: sticky;
  top: 0;
}

헤더의 속성을 “고정”으로 설정하면 페이지를 스크롤할 때 해당 위치가 고정된 상태로 유지됩니다. CSS 속성 “top”은 웹 페이지에서 헤더의 위치를 결정합니다. 페이지를 아래로 스크롤하면 헤더가 제자리에 고정되어 있고 다른 요소는 그에 따라 이동하는 것을 확인할 수 있습니다.

브라우저가 동영상 태그를 지원하지 않습니다.

잠재적인 스택 문제 해결

헤더의 고정 위치를 방해할 수 있는 다른 웹페이지 요소의 간섭을 방지하려면 요소를 계층적 순서로 배치하여 필요한 경우 헤더가 다른 콘텐츠와 겹치면서 원하는 위치에 유지되도록 하는 CSS 속성 “z-index”를 활용하는 것이 좋습니다.

 header {
  justify-content: space-between;
  padding: 1rem 2rem;
  position: sticky;
  top: 0;
  z-index: 9999;
}

 html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

부드러운 스크롤 기능이 구현되어 이 웹 페이지의 다양한 섹션을 원활하게 탐색할 수 있습니다.

브라우저가 동영상 태그를 지원하지 않습니다.

CSS 고정 헤더로 웹 탐색 향상

웹 디자인 레이아웃에 영구 헤더를 통합하는 것은 전반적인 사용자 경험을 향상시키는 효과적인 수단입니다. 이러한 구성 요소는 고객에게 기본 탐색 구조를 알려줌으로써 원활한 탐색을 유지하고, 확고한 브랜드 아이덴티티를 유지하며, 사이트에 현대적인 매력을 부여하는 역할을 합니다.

CSS의 기능을 활용하여 스티커 헤더를 구현하는 것은 간단하고 효율적입니다. 웹 디자인이 발전함에 따라 고정 헤더의 유용성은 다양한 분야에서 일관되게 유지되고 있습니다.

By 김민수

안드로이드, 서버 개발을 시작으로 여러 분야를 넘나들고 있는 풀스택(Full-stack) 개발자입니다. 오픈소스 기술과 혁신에 큰 관심을 가지고 있고, 보다 많은 사람이 기술을 통해 꿈꾸던 일을 실현하도록 돕기를 희망하고 있습니다.