Bir sayfam var, tarafından gömülü bir SVG CSS bağlanma. Bu SVG dosyalarının stilini senkronize etmek için tüm stil bilgilerini tutmak için tek bir stil sayfası oluşturmak istedim. Aşağıdaki gibi SVG dahil edilirkenbirkaç SVG dosyalarını içeren bir IMG etiketi
Ancak, CSS alışkanlık uygulanmıyor. Herkes buna bir çözüm olması veya <img src="..." />
tarafından başvurulan bir SVG diğer (CSS) dosyaları bağlamak adil değil mümkün mü?
pic.svg
yüklerken, tüm stiller uygulanır ve yeşil bir dikdörtgen görülebilir. Ancak
page.htm
'u açarken görmeniz gereken tek şey siyah bir dikdörtgendir. Açıkça tanımlanan stillerin hiçbiri uygulanmadı.
sayfası.htm
<!DOCTYPE html>
<html>
<body>
<img src="pic.svg" style="width: 100px; height: 100px;" />
</body>
</html>
pic.svg
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<?xml-stylesheet type="text/css" href="styles.css" ?>
<svg version="1.1"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 100 100"
>
<rect x="10" y="10" width="80" height="80" />
</svg>
styles.css
rect {
stroke: black;
fill: green;
}
EDIT
Bir cevaptan, kısa bir süre için burada göründü, this link to the spec ve aşağıdaki alıntı var. Benim düşünceme göre, yukarıdaki kod işe yarayacak! 'Img', 'nesnenin (HTML) veya 'resim'(SVG) bir HTML veya XML belgesine katıştırılmış
Tek başına SVG belgesi elemanları
[...]
"senin bağlantıdan başvurulan SVG belge içinde herhangi bir yerde tanımlanan stil sayfaları gerekçetüm SVG belgesi genelinde geçerlidir, ancak (stil öğeleri veya stil niteliklerini veya stil sayfası işleme talimatı ile bağlantılı harici stil sayfalarında olarak) yapma başvuru belgesini (belki HTML veya XHTML) fekte edin. gizlilik için
Ancak bu durumda yine SVG dosyası başına bir stil tanımına sahip olurdum. Ve bu yayınladığım özümle nasıl ilişkili? – Sirko
Stil tanımlarını paylaşmak isterseniz, resim etiketlerini kullanamazsınız. Güvenlik sorunları genellikle böyle şeyleri dikkate almayan şartname gereksinimlerini geçersiz kılma eğilimindedir. –
Görünüşe göre, bu ayrıca bir HTML dosyası aracılığıyla yüklenen SVG dosyalarından harici yazı tiplerine başvuramayacağınız anlamına gelir. –