Karmaşık bir Jquery-UI tabanlı iletişimim var ve arka plan olarak bir SVG resmi sağlamak istiyorum. Bu çalışmayı önce basit bir sınama dosyasında yapmaya çalıştım ve SVG'nin bağımsız bir görüntü olarak çalışması iyi olmaz. İşte basitleştirilmiş bir koddur:Bir satırın satır içi arka plan görüntüsü olarak SVG çalışmıyor
<script>
$(document).ready(function() {
svg = "<svg width='400' height='400' fill='url(#grad1)' \
xmlns='http://www.w3.org/2000/svg'> <rect id='bkgrect' width='400' \
height='400' style='fill:'url(#grad1)'; stroke-width:3;'/> <defs>\
<linearGradient id='grad1' x1='0' y1='20%' x2='0%' y2='100%'> \
<stop id='stop1' offset='0%' stop-color='blue'/> <stop offset='100%' \
stop-color='white'/> </linearGradient> </defs> </svg>";
svgBase64 = btoa(svg);
bkgrndImg = "url('data:image/svg+xml;base64,"+ svgBase64 +"')";
$('#testDiv').css('background-image', bkgrndImg);
});
</script>
</head>
<body>
<div id='testDiv' style="border:2px solid red;width:400px;height:400px;
position:absolute;left:100px;top:100px;"> Some SVG Div </div>
<svg ... /svg>
svg .../svg arka planda kullanılan aynı svg ve düzgün görüntüler.
Çeşitli çözümlere baktıktan sonra, öncelikle this numaralı yayına güvenmiş oldum. Ayrıca z-endeksi kullanarak ve görüntüyü Div olarak bir görüntü olarak konumlandırarak arka plan SVG görüntüsünü simüle etmeye çalıştım ama bu iyi bir düzeltme değil. SVG'nin tarayıcılar arasında sorunsuz bir şekilde çalışabilmesi için bir arka plan görüntüsü olarak almak istiyorum çünkü en azından SVG degradeleri tüm modern tarayıcılarda çok iyi destekleniyor ve SVG'nin tam olarak gerçekleştirilme potansiyelinin zamanı geldi.
Temel64 olarak sahip olmak zorunda mı? Normal olarak svg'ye normal bir görüntü gibi bağlayamaz mısınız? arka plan: url (../ images/fancy.svg) 'svg dinamik değilse normal bir dosya olarak bakımı daha kolay buluyorum. – Lex
@Lex Satırda olmasını istiyorum, böylece JS ile dinamik olarak değiştirebiliyorum. – Sam
bahsettiğiniz gönderi, # göründüğüm gibi yapmadığınız # kaçını sormak #% 23 ile değiştirildi. – uzma