scrollbar()
스크롤바 (Scroll Bar) 믹스인
용도
스크롤바 모양을 꾸미고자 할 때 사용합니다.
::-webkit-scrollbar 속성은 Blink 및 WebKit 기반 브라우저 (예: Chrome, Edge, Opera, Safari, iOS의 모든 브라우저 등)에서만 사용할 수 있습니다.
사용법
scrollbar()
믹스인을 호출합니다. 썸(Thumb) 크기, 색상, 둥글기, 바(Bar) 색상 등을 설정할 수 있습니다.
scrollbar($size:number, $thumb-color:color, $thumb-radius:number, $bar-color:color)
매개변수(parameter) | 유형(type) | 필수(required) | 기본 값(default) |
$size | number |
| |
$thumb-color | color |
| |
$thumb-radius | number |
| |
$bar-color | color | 썸 색상 명도 대비를 분석해 계산된 색 (로직 참고) |
위 예시 코드는 아래의 CSS로 컴파일 되어 출력됩니다.
로직
scrollbar()
믹스인은 다음의 로직에 의해 작성되었습니다.
Sass 컬러(Color) 모듈 사용
전달 받은 인자 값이 없을 경우, 기본 설정 된 매개변수 값 사용
전달 받은 인자 값이 있을 경우 썸 크기, 색상, 둥글기, 바 색상 등 값을 설정하여 코드 출력
$bar-color 값을 자동으로 계산하는데 사용되는 로직
Sass의 mix() 함수를 사용해 썸 컬러에 다음 과정을 통해 계산 된 색과 혼합합니다. blackness() 함수를 사용해서 썸 컬러의 값이 검정색에 얼마나 가까운 지 계산(검정색에 가까울 수록 100%에 근접) 합니다.
계산된 값이 50% 보다 크거나 같다면? 썸 색상이 어두운 색이므로 색 구성표에 등록된 하얀색을 사용합니다. 반대로 50% 보다 작다면? 썸 색상이 밝은 색상이므로 색 구성표에 등록된 검정색을 사용합니다.
참고
믹스인에 사용된 Sass의 빌트인 모듈은 다음과 같습니다.
믹스인에 사용된 직접 제작한 모듈은 다음과 같습니다.
Last updated