, ve SASS variables
üzerinden işlemek istediğiniz parçalara erişmek için svg
anlamsız "dilimlemek" olan SASS mixins
. Orijinal senaryoda
Eğer
Böylece sizin için SVG iç fonksiyon bir
mixin/function
ihtiyaç
<div class="element1"></div>
, bir elementi vardır.böylece, Diyelim ki
fill
ait kontrol etmek istediğimizi varsayalım:
$svg-content
değişken
<style>
(eğer
mixin
iç erişmek istediğiniz) elemanı ve
svg
etiketi sarma ,, yani hariç sizin
<svg>
şeyler
@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}');
}
olduğu:
@include inline-svg(salmon, $svg-content);
whol Özetle: $svg-content = "<path .... />"
Bu sadece ihtiyaç
içine geçirilen değerlerle dahil edilecek Burada olasılıklar (sınırlamalar bu yaklaşıma burada da vardır) oldukça büyük olduğunu düşünüyorum
$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);
}
: e şey yukarı, bu bir örnektir SUKDÖ'nün kodudur. Aslında key
olarak tanımlanan benim mixin
css
ile stilleri, value
çifti, bir SASS map
svg
ait <style>
kısmına css
stilleri sürü enjekte etmek geçmektedir.
Teknik olarak mümkün, ancak daha fazla bir uyumluluk gerektirir, ancak bunu tamamladıktan sonra, projeniz (ler) iniz boyunca bu mixin
'u yeniden kullanmanın yararlarından yararlanabilirsiniz.
öyle görünüyor. Teşekkürler. temiz olsa eh? – Jonathon
@joneb Bence temiz olacağını düşünmüyorum, bu durum dairesel referans problemlerine sebep olur. :) – Phrogz
evet, haklısınız. Bu örnekte neat kullanımı aşağıdakilerle ilgilidir: "Şu an için daha geniş anlamları göz önünde bulundurmadığım için şu an amaca hizmet etmeyi dilerim": D – Jonathon