적응형 파비콘을 빌드하는 방법에 관한 기본 개요입니다.
이 게시물에서는 SVG를 사용하여 적응형 파비콘을 빌드하는 방법에 관한 생각을 공유하고자 합니다. 데모를 사용해 보세요.
동영상을 선호하는 경우 이 게시물의 YouTube 버전을 확인하세요.
개요
맞춤 파비콘은 웹 프로젝트를 다듬는 좋은 방법입니다. 데스크톱 브라우저 탭에 표시되며 '나중에 저장' 리더, 내 사이트로 연결되는 다른 블로그 게시물 등에도 표시됩니다. 전통적으로는 .ico
파일 유형을 사용했지만 최근에는 브라우저에서 벡터 형식인 SVG를 사용할 수 있도록 허용했습니다. 점진적 개선을 사용하면 잘 지원되는 .ico
파비콘을 제공하고 사용 가능한 경우 .svg
으로 업그레이드할 수 있습니다.
SVG는 품질 손실 없이 확대 및 축소할 수 있으며 크기가 매우 작을 수 있습니다. 또한 CSS를 삽입할 수 있으며 미디어 쿼리도 삽입할 수 있습니다. 즉, SVG 파비콘이 리더 앱이나 북마크 표시줄에 사용되는 경우 사용자가 SVG 내에 제공된 어두운 모드 선호도 스타일로 인해 테마 관련 (밝은 또는 어두운) 아이콘을 받을 수 있습니다. 그러면 SVG가 밝은 테마와 어두운 테마 사용자 환경설정을 위해 삽입된 스타일을 사용하여 적응합니다.

마크업
SVG 마크업은 .svg
파일 형식 확장자를 사용하는 XML로, 더 동적인 유형의 코드를 보유할 수 있습니다.
favicon.svg
를 만들어 시작하세요.
favicon.svg
이라는 새 파일을 만들고 다음을 추가합니다.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400">
</svg>
다음은 SVG 파일입니다. 내 작품과 관련된 viewBox
의 크기를 조정했습니다.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
</svg>
도형 및 경로 추가
다음으로 SVG 경로 코드를 추가합니다. 일반적으로 이는 코드 편집기에서 SVG를 여는 것을 의미하지만 해당 코드는 일반적으로 사람이 읽기 쉽지 않습니다. 디자인 도구에서 SVG를 내보내고 최적화하는 방법을 안내하는 유용한 가이드를 참고하세요.
이 GUI 챌린지의 아트는 Adobe Illustrator로 만든 디자이너가 제공했습니다. 많이 최적화했습니다. SVGOMG를 통해 실행한 다음 불필요한 부분을 수동으로 수정했습니다.
다음은 정리한 후 내 skull
아트워크 경로 그룹의 예입니다.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
<g id="skull">
<path id="skull-outline" class="favicon-stroke" stroke-linejoin="round" d="M19.62 188.39A166.62 166.62 0 0 1 186.24 21.77c115.25 0 166.61 74.59 166.61 166.62 0 1.83-.08 3.64-.13 5.46h.13s.68 175.09.68 178.65c0 30.11-16.26 41.67-36.32 41.67-12.7 0-35.22-3.93-36.22-32.69h-.2c-1 28.76-16.81 32.69-36.22 32.69-18 0-32.87-6.78-35.77-32.53-2.9 25.75-17.8 32.53-35.8 32.53-20.06 0-36.32-11.56-36.32-41.67 0-2.48.36-24.88.36-24.88A166.68 166.68 0 0 1 19.62 188.39Z" />
<path id="eyes-and-nose" d="M180.77 205.76c0 23.64 12.84 42.81 28.68 42.81s28.68-19.17 28.68-42.81-12.84-42.82-28.68-42.82-28.68 19.17-28.68 42.82M275 205.76c0 23.64 12.84 42.81 28.68 42.81s28.68-19.17 28.68-42.81-12.84-42.82-28.68-42.82S275 182.11 275 205.76M264.51 276.85s-29.26 43.53-20.12 49.23c7.07 4.41 20.49-16.71 20.49-16.71s12.82 22.58 16.76 20c16.24-10.71-17.13-52.5-17.13-52.5"/>
<path id="jawline" class="favicon-stroke" fill="none" stroke-linecap="round" d="M114.92 284.33c22.54-1 22 7 22 62.48" />
</g>
</svg>
#eyes-and-nose
와 같은 사람이 읽을 수 있는 ID 선택기와 .favicon-stroke
와 같은 클래스를 확인하세요. CSS를 준비하기 위해 수동으로 수정한 것입니다.
SVG가 적응형 파비콘이 되기 위해 클래스와 ID를 추가할 필요는 없습니다.
HTML에서 파비콘 SVG 연결
HTML의 <head>
태그에서 .ico
파비콘 뒤에 다음을 추가합니다.
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
새 아이콘이 .ico
버전과 동일해 보일 수 있으므로 새 아이콘이 사용되고 있는지 확인하세요. DevTools의 네트워크 패널을 엽니다. 이미지로 필터링하고 파비콘을 검색합니다.
스타일
HTML과 마찬가지로 해당 문서 범위에 대해 사용할 마크업에 <style>
태그를 추가할 수 있습니다.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
<style>
</style>
…
</svg>
밝은 테마 버전이 내 파비콘 SVG의 기본 색상이 됩니다. 이 경우에 작성한 스타일은 주로 획과 채우기 색상입니다.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
<style>
.favicon-stroke {
stroke-width: 8px;
stroke: #8929ff;
}
#skull-outline { fill: white }
#eyes-and-nose, #hat-outline { fill: #8929ff }
#hat-fill, #hat-bill { fill: #e662e6 }
</style>
…
</svg>
다음은 가장 재미있는 부분인 어두운 테마 버전의 파비콘 스타일 지정입니다. 이 스타일은 스타일 태그 내의 미디어 쿼리로 이동합니다.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
<style>
…
@media (prefers-color-scheme: dark) {
/* dark theme styles */
}
</style>
…
</svg>
내 코드는 다음과 같이 완성되었습니다.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447 428">
<style>
…
@media (prefers-color-scheme: dark) {
.favicon-stroke { stroke: #343a40 }
#skull-outline { fill: #adb5bd }
#hat-outline { fill: #343a40 }
#eyes-and-nose { fill: #343a40 }
}
</style>
…
</svg>
밝은 보라색 테두리를 멋진 차가운 진한 회색 (#343a40
)으로 바꾸고, 해골 뼈 색상을 흰색에서 차가운 밝은 회색 (#adb5bd
)으로 변경했지만, 핑크색 강조 모자는 그대로 두었습니다.
결론
이제 제가 어떻게 했는지 아셨으니, 어떻게 하시겠어요? 🙂
다양한 접근 방식을 사용하고 웹에서 빌드하는 모든 방법을 알아보세요. 데모를 만들고 트윗으로 링크를 보내주세요. 아래 커뮤니티 리믹스 섹션에 추가해 드리겠습니다.