새소식

인기 검색어

HTML & SCSS (CSS3)

앵커 시 부드럽게 움직이는 스크롤

  • -

페이지 내에서 앵커 링크 사이를 이동하는 경우, 부드러운 효과를 위해서 스크롤 기능을 넣곤 합니다. jQuery를 이용하거나 javaScript로 구현하던지

그런데, 사실 가능하다면 "개발자의 편의"를 위해서 native 한 기능으로 들어가는 게 가장 좋습니다. 핵심 기술이 아닌 animation 류의 효과를 위해서 직접 뭔가를 해주는 건 사실 좀 피곤한 일이거든요. 대부분의 경우 라이브러리가 있긴 하지만, 라이브러리가 자꾸 섞이는 것도 좀 그렇죠?

이번 글에서는 별다른 설정 없이 CSS로만 앵커 링크 사이를 부드럽게 이동하는 방법에 대해서 살펴보겠습니다.

 


script로 구현

저는 서울시청 사이트 프로젝트에서탑 버튼을 클릭했을때 위로 가는 동작을 아래 처럼 스크립트로 구현했습니다.

$(".fix-btn-top").click(function(){

  $("html, body").animate({scrollTop : 0}, 500);
  return false;

});

 


CSS로 구현

CSS만으로 가능하다면 이전의 방식보다 훨씬 쉽고 간단하겠죠? 최근 CSS에서는 scroll-behavior:smooth; 속성이 추가되면서 페이지 내의 앵커 링크들 사이에 부드럽게 스크롤되는 애니메이션을 구현할 수 있게 되었습니다.

이 속성은 html에 추가하면 동작합니다.

하지만 이 속성의 단점은 이동 속도는 따로 설정이 불가능 하다는 점입니다.

커스텀을 원한다면 스크립트를 이용하는것이 좋겠죠? 🙂

'HTML & SCSS (CSS3)' 카테고리의 다른 글

반응형 디자인 구현  (0) 2023.02.21
aria-label , aria-labelledby  (0) 2023.02.18
이미지 스프라이트 기법(Image Sprite)  (0) 2023.01.26
flex로 정렬하기  (0) 2023.01.24
이미지 사이즈 비율 맞추는 3가지 방법  (0) 2023.01.24
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.