안녕하세요,
Gradients in SVG - SVG | MDN 문서에서 확인한 바로는 SVG에 <linearGradient>를 추가해야 합니다.
다른 참고 자료:
theme/component에 숨겨진 SVG를 만들어 그라디언트를 정의할 수 있습니다:
<svg aria-hidden="true" focusable="false" style="width:0; height:0; position:absolute;">
<linearGradient id="my-gradient-1" x2="0" y2="1">
<stop offset="0%" stop-color="var(--color-stop-1)" />
<stop offset="50%" stop-color="var(--color-stop-2)" />
</linearGradient>
<linearGradient id="my-gradient-2">
<stop offset="0%" stop-color="var(--color-stop-1)" />
<stop offset="50%" stop-color="var(--color-stop-2)" />
<stop offset="100%" stop-color="var(--color-stop-3)" />
</linearGradient>
<!-- 고유한 ID를 사용하여 필요한 특정 그라디언트를 정의하세요 -->
</svg>
그 다음 CSS에서 색상을 정의하고 fill로 채우려는 SVG 요소를 지정합니다:
/* 그라디언트 색상 정의 */
#my-gradient-1 {
--color-stop-1: #a770ef;
--color-stop-2: #eda58b;
}
#my-gradient-2 {
--color-stop-1: #2980b9;
--color-stop-2: #6dd5fa;
--color-stop-3: #ffffff;
}
.svg-icon, .svg-icon-title {
/* 모든 svg 아이콘을 대상으로 합니다 */
fill: url(#my-gradient-1) var(--header_primary-low-mid);
/* 채팅 아이콘만 대상으로 합니다 */
&.d-icon-d-chat {
fill: url(#my-gradient-2) var(--header_primary-low-mid);
}
}
참고: fill의 두 번째 값은 폴백(fallback) 색상입니다.
광범위하게 테스트하지는 않았으며, 이는 커스터마이징 방법을 보여주는 예시입니다.
더 복잡한 그라디언트를 만들려면 문서를 참고해 보세요.
도움이 되기를 바랍니다!
