본문 바로가기
UX 개발/UX - 스크롤 애니메이션

SimpleBar를 사용하여 커스텀 스크롤바 만들기

반응형

웹사이트에서 스크롤바를 커스터마이징하면 더욱 세련된 디자인을 제공할 수 있지만, 기본 브라우저 스크롤바는 일관되게 스타일링하기 어려울 때가 많습니다. SimpleBar는 이러한 문제를 해결해주는 가벼운 라이브러리로, 아름답고 커스터마이징 가능한 스크롤바를 쉽게 적용할 수 있습니다.

 

이 글에서는 SimpleBar를 설정하고 사용하는 방법을 단계별로 설명하고 예제 코드를 제공하겠습니다.

 

📦 SimpleBar란 무엇인가요?

 

SimpleBar는 브라우저의 기본 스크롤바를 대체하여 커스터마이징된 스크롤바를 제공하는 JavaScript 라이브러리입니다. 다른 라이브러리와 달리 브라우저의 기본 스크롤 동작을 유지하면서 부드러운 사용자 경험을 제공합니다.

 

주요 특징:

 

1. 가볍고 빠른 성능

2. CSS를 사용하여 스크롤바 커스터마이징

3. 최신 브라우저 지원

4. 기존 프로젝트에 간단하게 통합 가능

 

🚀 SimpleBar 시작하기

 

SimpleBar를 사용하려면 CSS와 JavaScript 파일을 프로젝트에 추가하면 됩니다.

 

1. SimpleBar 설치하기

 

패키지 매니저를 사용하거나 CDN 링크를 추가하세요.

 

npm을 사용한 설치:

 

npm install simplebar

 

CDN 링크 사용:

 

HTML 파일에 아래 코드를 추가합니다.

 

<!-- SimpleBar CSS -->
<link
  rel="stylesheet"
  href="https://unpkg.com/simplebar@latest/dist/simplebar.css"
/>
<!-- SimpleBar JS -->
<script src="https://unpkg.com/simplebar@latest/dist/simplebar.min.js"></script>

 

2. SimpleBar 기본 예제

 

스크롤 가능한 컨테이너에 SimpleBar를 적용하는 가장 간단한 방법은 다음과 같습니다.

 

HTML 코드:

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>SimpleBar 예제</title>
  <!-- SimpleBar CSS -->
  <link
    rel="stylesheet"
    href="https://unpkg.com/simplebar@latest/dist/simplebar.css"
  />
</head>
<body>
  <!-- 스크롤 가능한 컨테이너 -->
  <div
    class="scrollable-container"
    data-simplebar
    style="height: 200px; overflow-y: auto; border: 1px solid #ccc"
  >
    <p>SimpleBar가 기본 스크롤바를 대체합니다!</p>
    <p>부드럽게 작동하며 스타일을 쉽게 변경할 수 있습니다.</p>
    <p>아래로 스크롤해보세요...</p>
  </div>

  <!-- SimpleBar JS -->
  <script src="https://unpkg.com/simplebar@latest/dist/simplebar.min.js"></script>
</body>
</html>

 

🎨 SimpleBar 스타일 커스터마이징

 

SimpleBar는 CSS를 사용해 스크롤바를 커스터마이징할 수 있습니다. 아래 예제를 통해 스크롤 트랙(배경)과 썸(스크롤 핸들)을 스타일링하는 방법을 확인하세요.

 

CSS 코드:

/* 스크롤 트랙 스타일 */
.simplebar-track {
  background-color: #f0f0f0; /* 트랙 색상 */
  border-radius: 10px;
}

/* 스크롤 썸 스타일 */
.simplebar-scrollbar::before {
  background-color: #888; /* 썸 색상 */
  border-radius: 10px; /* 둥근 모서리 */
  opacity: 1; /* 썸을 항상 표시 */
  transition: background-color 0.3s ease;
}

/* 썸 호버 효과 */
.simplebar-scrollbar:hover::before {
  background-color: #555; /* 호버 시 더 어두운 색상 */
}

 

🎯 여러 스크롤바에 서로 다른 스타일 적용하기

 

여러 컨테이너에 SimpleBar를 적용하고 각기 다른 스타일을 설정하고 싶다면 고유한 클래스를 사용하면 됩니다.

 

HTML 코드:

<div class="scrollable-container container-1" data-simplebar></div>
<div class="scrollable-container container-2" data-simplebar></div>

 

CSS 코드:

/* container-1 스타일 */
.container-1 .simplebar-scrollbar::before {
  background-color: #ff6b6b; /* 빨간색 썸 */
}

/* container-2 스타일 */
.container-2 .simplebar-scrollbar::before {
  background-color: #38d9a9; /* 초록색 썸 */
}

 

🛠️ SimpleBar 옵션 설정

 

JavaScript를 사용하면 SimpleBar의 동작을 더 세부적으로 설정할 수 있습니다.

 

예제:

new SimpleBar(document.getElementById('myElement'), {
  autoHide: false, // 스크롤바 항상 표시
  scrollbarMinSize: 50, // 썸의 최소 크기
});

 

옵션 목록:

 

옵션 기본값 설명

autoHide true 스크롤바 자동 숨김

forceVisible false 스크롤바 항상 보이기

scrollbarMinSize 25 스크롤바 썸의 최소 크기

 

🎉 결론

 

SimpleBar를 사용하면 스크롤바를 빠르고 쉽게 커스터마이징할 수 있습니다. 기본 스크롤 동작을 유지하면서 일관된 디자인의 스크롤바를 만들 수 있습니다.

 

핵심 요약:

 

1. SimpleBar를 설치하고 data-simplebar 속성으로 적용합니다.

2. CSS를 사용해 스크롤바를 커스터마이징합니다.

3. 여러 컨테이너에 서로 다른 스타일을 적용할 수 있습니다.

 

SimpleBar를 사용해 아름답고 일관된 스크롤바로 웹사이트의 디자인을 한 단계 업그레이드해보세요! 🚀

 

📚 추가 자료:

 

SimpleBar 공식 문서: https://github.com/Grsmto/simplebar

 

이제 직접 프로젝트에 SimpleBar를 적용해보세요! 궁금한 점이 있으면 언제든지 질문하세요. 😊

반응형
❤️ 외주/과외 문의
🖥️ 클라우드 메뉴판 : 디지털팝