More than you want to know about favicons
- CSS 미디어 쿼리를 사용하여 사용자의 브라우저 색상 스키마(다크/라이트 모드)에 따라 파비콘을 동적으로 변경할 수 있습니다. 🌓
- SVG 파비콘 내부에 스타일 태그를 삽입하여
currentcolor와 미디어 쿼리를 활용, 사용자의 색상 스키마 선호도에 따라 파비콘의 색상을 동적으로 변경할 수 있습니다. 🎨
- 사용자의 브라우저 기본 설정과 독립적으로, 웹사이트 내에서 사용자가 직접 테마(다크/라이트)를 선택할 수 있도록
data-theme HTML 속성을 활용하는 방법을 소개합니다. ⚙️
- JavaScript를 사용하여 테마 토글 버튼 클릭 시
data-theme 속성을 업데이트하고, localStorage에 사용자 테마 선호도를 저장하여 세션 간 지속성을 확보합니다. 💾
- 페이지 로딩 시 발생하는 '색상 깜빡임' 현상(FOUC)을 방지하기 위해,
<head> 태그 내에 인라인 스크립트를 배치하여 CSS 로드 전에 localStorage에서 테마를 확인하고 data-theme 속성을 즉시 적용합니다. ⚡
- JavaScript를 활용하여
<link rel="icon"> 요소의 href 속성을 변경하거나, SVG 파비콘의 style.color를 직접 조작하여 파비콘을 동적으로 교체할 수 있습니다. 🔄
- 첫 방문 사용자를 위해
localStorage에 테마 정보가 없을 경우, JavaScript 미디어 쿼리를 통해 사용자의 시스템 색상 스키마 선호도를 감지하고 초기 data-theme 및 localStorage 값을 설정합니다. 🆕