, SASS variables
을 통해 조작하려는 부분에 액세스하려면 전체 svg
을 "슬라이스"하는 SASS mixins
비트가 필요합니다. 원래 시나리오에서
당신은
은 그래서 당신은 당신을 위해 SVG 인라인 것
mixin/function
필요
<div class="element1"></div>
, 요소를 가지고있다.자, 당신은
fill
의 제어하려는 가정 해 봅시다 :
$svg-content
변수가
<style>
(당신이
mixin
의 내부에서 액세스 할) 요소와
svg
태그를 포장 ,, 예를 제외하고 당신의
<svg>
물건
@mixin inline-svg($color, $svg-content) {
$start: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><style>path { fill:#{$color}; }</style>';
$end: '</svg>';
background-image: url('data:image/svg+xml;utf8, #{$start}#{$svg-content}#{$end}');
}
입니다 : 를
@include inline-svg(salmon, $svg-content);
하여도 ë을 요약하면 : $svg-content = "<path .... />"
이 그냥 필요
은 내부에 전달 된 값에 포함되는 여기 가능성 (제한하는 접근 방식도 여기에있다) 아주 큰 생각
$svg-content = "<path .... />"
@mixin inline-svg($color, $svg-content) {
$start: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><style>path { fill:#{$color}; }</style>';
$end: '</svg>';
background-image: url('data:image/svg+xml;utf8, #{$start}#{$svg-content}#{$end}');
}
.element1 {
@include inline-svg(rgba(0,0,0,0.6), $svg-content);
}
: 전자의 것은 위로, 이것은 예를 SASS 코드입니다. 실제로 SASS map
을 내 mixin
에 css
스타일로 key
, value
쌍으로 정의하여 css
스타일의 전체 묶음을 svg
부분에 삽입합니다.
기술적으로는 가능하지만 더 많은 compexity가 필요하지만이 작업을 완료하면 프로젝트 전체에서이 mixin
을 재사용 할 수있는 이점이 있습니다.
그런 식으로 보입니다. 감사. 어때요? – Jonathon
@joneb 나는 그것이 깔끔할 것이라고 생각하지 않는다. 나는 원형 참조 문제를 일으킬 것이라고 생각한다. :) – Phrogz
예, 당신 말이 맞아요. 이 경우에 깔끔한 사용은 다음과 관련됩니다 : "나는 더 넓은 의미를 고려하지 않은 상태에서 지금 당장 가지고있는 목적을 위해 작동합니다."-0 및 -ms가 존재하지 않는 한 D – Jonathon