슬라이드 대신 가로 스크롤 컴포넌트를 사용할 때 스크롤바 모양 제어 CSS

,

굳이 슬라이드로 만들 필요가 없는, 가로 스크롤 컴포넌트가 필요한 경우가 있습니다. 아래와 같은 경우죠. 추천 도서 목록인데 굳이 JS 슬라이드 라이브러리를 쓸 거 없이 overflow-xscroll로 지정해 주면 깔끔합니다.

이슈 하나를 해결해야 했습니다. 모바일에서는 가로 스크롤바가 예쁘게 나오지만 데스크톱에서는 그렇지 않다는 점입니다.

그래서 CSS로 가로 스크롤바를 모바일(혹은 맥 스타일)로 바꿔 줬습니다. 위에 모양이 적용된 게 보이실 겁니다.

아래는 CSS 코드입니다. 설명은 주석으로 달아 두었습니다.

.pretty-scrollbar {
  /* firefox 스크롤바의 색상을 지정합니다. */
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
  /* firefox 스크롤바의 두께를 지정합니다. */
  scrollbar-width: thin;
}
.pretty-scrollbar::-webkit-scrollbar {
  width: 6px; /* 세로축 스크롤바의 두께 */
  height: 6px; /* 가로축 스크롤바의 높이 */
}
.pretty-scrollbar::-webkit-scrollbar-track {
  background-color: transparent; /* 스크롤바의 트랙 색상 */
}
.pretty-scrollbar::-webkit-scrollbar-thumb {
  border-radius: 3px; /* 스크롤바의 손잡이 모양 */
  background-color: rgba(0, 0, 0, 0.2); /* 스크롤바의 손잡이 색상 */
}
.pretty-scrollbar::-webkit-scrollbar-button {
  display: none; /* 스크롤바의 버튼을 숨김 */
}

컨테이너의 CSS는 아래와 같이 하면 될 겁니다. scroll-behavior: smooth;를 주목하세요.

.container {
  max-width: 600px;
  display: flex;
  gap: 20px;
  overflow-x: scroll;
  /* 데스크톱 브라우저에서 부드러운 스크롤 */
  scroll-behavior: smooth;
}

코드펜에서 예시를 볼 수 있습니다.

사진 Taylor Flowe on Unsplash

👇 카테고리 글 목록

,

대표글

댓글 남기기