고정 헤더 (Fixed/Sticky header)

고정 헤더 (Fixed/Sticky header)

스크롤 시 특정 위치에 고정되어 따라오는 헤더(header)입니다:

고정 헤더 만들기

Step 1) HTML 코드 추가하기:
 

<div class=”header” id=”myHeader”>
  <h2>My Header</h2>
</div>

Step 2) CSS 코드 추가하기:
고정 헤더를 디자인합니다:

/* Style the header */
.header {
  padding: 10px 16px;
  background: #555;
  color: #f1f1f1;
}

/* Page content */
.content {
  padding: 16px;
}

/* The sticky class is added to the header with JS when it reaches its scroll position */
.sticky {
  position: fixed;
  top: 0;
  width: 100%
}

/* Add some top padding to the page content to prevent sudden quick movement (as the header gets a new position at the top of the page (position:fixed and top:0) */
.sticky + .content {
  padding-top: 102px;
}

Step 3) 자바스크립트 (JavaScript) 코드를 추가합니다:

// When the user scrolls the page, execute myFunction
window.onscroll = function() {myFunction()};

// Get the header
var header = document.getElementById(“myHeader”);

// Get the offset position of the navbar
var sticky = header.offsetTop;

// Add the sticky class to the header when you reach its scroll position. Remove “sticky” when you leave the scroll position
function myFunction() {
  if (window.pageYOffset > sticky) {
    header.classList.add(“sticky”);
  } else {
    header.classList.remove(“sticky”);
  }
}