[CSS] 페이지를 OS의 설정에 따라 다크/라이트 모드로 보여주기
반응형
CSS의 @media
속성인 prefers-color-scheme
을 소개하고 CSS의 변수를 활용하여 색상표를 만드는 방법을 알아봅니다.
추가 정보가 필요하다면 모질라재단의 prefers-color-scheme 속성에 대한 설명을 참고하세요.
컴퓨터나 스마트폰을 사용할 때 다른 앱은 어두운 테마를 사용하는데 웹페이지가 밝거나 하면 번갈아서 볼 때 눈이 피로해질겁니다. 웹페이지도 다른 앱들과 같은 테마를 사용하고자 할 때 쓸 수 있는 방법이 미디어 속성 prefers-color-scheme 입니다.
라이트 / 다크 모드의 기준
윈도우 11의 경우에는 개인설정 > 색 항목에서 모드를 변경할 수 있습니다. 안드로이드는 기종마다 차이가 있지만 일단은 설정 메뉴 어딘가에서 변경할 수 있는 모양입니다.
기본적인 사용법
/* OS 다크/라이트 테마 */
@media (prefers-color-scheme: light) {
/* 라이트 모드 */
}
@media (prefers-color-scheme: dark) {
/* 다크 모드 */
}
@media
속성에 light
나 dark
를 넣어 조건식을 만들 수 있습니다. 다른 미디어 쿼리문과 마찬가지로 이 속성도 and
나 not
을 조합하여 사용할 수도 있습니다.
일반적인 사용법
/* 색상표 */
:root {
--color: #000;
--background: #FFF;
}
@media (prefers-color-scheme: dark) {
:root {
--color: #DDD;
--backgorund: #000;
}
}
/* 본문 */
#container {
background: var(--background);
color: var(--color);
}
이렇게 조건에 따른 색상표를 만들어 OS에서 설정한 색상 테마에 맞춰서 사용할 수 있습니다.
반응형
'프로그래밍 > 웹 프로그래밍' 카테고리의 다른 글
포트폴리오를 위한 깃허브 페이지: 로컬 테스트 환경 구성 (0) | 2022.04.28 |
---|---|
포트폴리오를 위한 깃허브 페이지: WSL 개발 환경 구성 (0) | 2022.04.27 |
티스토리 API를 이용한 사이트맵 생성기 (0) | 2019.12.24 |
순수 JavaScript로 만드는 자동 목차 기능 (0) | 2019.11.22 |
스킨 업데이트: <kbd> 스타일 추가 (0) | 2019.11.22 |
댓글