본문 바로가기
CSS

스크롤 최상단으로 이동 css vs js

by F.E.D 2021. 2. 7.

스크롤 최상단으로 이동하는 방법에 css와 js가 있습니다.

 

<div class="bar">
  <a href="#">스크롤 최상단 css</a>
  <a href="#" id="js-scroll">스크롤 최상단 JS</a>
</div>

css

html {
  scroll-behavior: smooth;
}

위 처럼 스크롤 상태에 대한 smooth 속성을 사용해서 scroll을 부드럽게 처리할 수 있기 때문에 #인 포지션인 0으로 갈 때 부드럽게 이동합니다.

js

document.querySelector("#js-scroll").addEventListener("click", (e) => {
  e.preventDefault();
  window.scroll({
    top: 0,
    left: 0,
    behavior: "smooth"
  });
});

위의 방법도 스크롤을 부드럽게 처리하기 위한 옵션이 들어갑니다.

 

이 두가지 방법은 중요한 차이가 있습니다.

 

차이점 CSS JS
Chrome 통제가능 (스피드:천천히) 통제 불가능
FireFox 통제가능 (스피드:매우빠르게) 통제가능(스피드:빠르게)
Safari 스무스 스크롤링 안됨 스무스 스크롤링 안됨
Edge 통제가능(스피드:빠르게) 통제 불가능
iOS 스무스 스크롤링 안됨 스무스 스크롤링 안됨
  • CSS 또는 Javascript를 통해 트리거되는 부드러운 스크롤 동작을 취소할 수 있습니다.
  • 속도를 제어 할 수 있도록하거나 그렇지 않은 경우 브라우저가 중간 속도를 유지할 수 있도록 하세요.

댓글