SVG Öğelerine Sınıf Ekleme Konusunda Gidilecek İki Yol Vardır

Yayınlanan: 2023-02-08

SVG öğelerine sınıf ekleme söz konusu olduğunda, bunu yapmanın iki yolu vardır. İlk ve en bariz yol, basitçe className özniteliğini kullanmaktır: var mySvg = document.querySelector('#my-svg'); mySvg.className = 'sınıfım'; Bu, yalnızca tek bir sınıfla uğraşıyorsanız iyi çalışır, ancak birden çok sınıf eklemeniz gerekirse, classList API'yi kullanmanız gerekir: var mySvg = document.querySelector('#my-svg'); mySvg.classList.add('sınıfım'); mySvg.classList.add('başka bir sınıf'); Bir sınıfı kaldırmanız gerekirse, classList.remove() yöntemini kullanabilirsiniz: mySvg.classList.remove('my-class'); Son olarak, bir sınıfı değiştirmeniz gerekirse (yani yoksa ekleyin veya varsa kaldırın), classList.toggle() yöntemini kullanabilirsiniz: mySvg.classList.toggle('my-class') ;

Belge Nesne Modeli (DOM), hem HTML'yi hem de SVG'leri temsil etmek için kullanılabilir. Sonuç olarak, Javascript kullanarak onları manipüle etmek nispeten basittir. Bu derste, hem satır içi hem de harici SVG'nin nasıl kullanılacağını ele alacağım. GitHub, bu sayfanın üst kısmında bulunabilecek çeşitli kod örnekleri sağlamıştır. Aynı kodu kullanarak harici bir SVG oluşturduğunuzda, öğenin içeriği SVG'nin kendisinde kullanılabilir. Bir SVG, içine katıştırılmış HTML belgesine erişemez ve bu nedenle sayfadaki diğer SVG'leri görüntüleyemez. Kodu CDATA ile sararsanız, XML ayrıştırması, JS kodunu XML'in bir parçası olarak kabul eder.

Öğe oluşturma ve kaldırma aynı şeydir, yalnızca farklı yerlerdedir. İlgili belgenin createElementNS() yöntemini kullanarak, öğeler oluşturmak için ilgili belgenin etiket adını ve ad alanını iletirsiniz. Bir öğeyi kaldırmak için, createTextNode() kullanarak ayrı bir metin düğümü oluşturmalı ve ardından bunu öğeye eklemelisiniz. Aynı belge içinde olmadıkları için bu şekilde kullanılabilirler.

class özniteliği , svg> etiketine şu sınıf adlarını atar: class, class ve class. Sınıf adlarını tanımlarken, bir stil sayfası veya stil adına sahip yerel bir öğe kullanın. Stiller, sınıf adları gibi sınıflar kullanılarak oluşturulur.

Öğe stili söz konusu olduğunda HTML, öğeye özgü 'stil' ve 'sınıf' niteliklerinin yanı sıra HTML'nin sınıf ve stil niteliklerini de destekler. 'class' özniteliği, bir öğeye daha sonra stil dilinde öğeyi adreslemek için kullanılan bir ad atar. Stil nitelikleri, öğeler tarafından CSS bildirimlerini belirtmek için kullanılır.

HTML kodunun özellikleri ve değerleri, SVG'nin CSS özelliğinde ve değerinde saklanır. HTML özelliklerine çok benzeyen bazı örnekler vardır.

Sınıfı Svg'ye Koyabilir misiniz?

Sınıfı Svg'ye Koyabilir misiniz?
Resim kaynağı: https://pinimg.com

Svg'ye class koymak mümkündür ancak bazı tarayıcılarda sorun yaratabileceği için önerilmez.

SVG'nize bir HTML ad alanı eklediğinizde, öğelere CSS ile stil uygulayabilir ve *yabancı nesne özelliğini kullanarak SVG'yi yükleyebilirsiniz; bu, onun görünme biçimini değiştirecektir.

Grafik Tasarımınızı Svgs ile Düzenleme

SVG dosyaları , "*svg" etiketli en fazla üç öğe içerebilir. Grafik tasarımınızı mantıksal gruplar halinde düzenleme süreci de basittir.

Javascript Svg'ye Uygulanabilir mi?

HTML'de satır içine alınabildikleri için, SVG resimlerimiz JavaScript kullanılarak değiştirilebilir. Bir görüntünün parçalarını koddan canlandırabilir, onu veri odaklı etkileşimli bir ortama dönüştürebilir ve verilere dayalı grafikler üretebiliriz.

DRY, kodunuzu daha hızlı, daha sağlam ve yazmak için daha az zaman harcayan hale getirmenin mükemmel bir yoludur. IE'de, global bir olay nesnesine güvenmek gerekli değildir. Olay nesnenizi olay işleyiciye ayarlayın. x ve y değişkenleri değiştirildiğinden, niteliklerinde başka değişiklik yapılması gerekmez. Yukarıda verdiğim keydown ve ASCII olay kodları, tuşa basmak yerine tek sayıları ve keydown'ı kullanırsam tüm tarayıcılarda çalışır. AddEventListner(), ne olması gerektiğini açıklamak için onfoo= * niteliklerini kullanmak yerine yalnızca olay işleyicinin onfoo = * niteliklerini kullanarak bir öğeye olay işleyicileri eklemek için kullanılabilir. Dış işlev yalnızca sayfa yüklendikten sonra çalışır, bu nedenle herhangi bir öğeye başvurmak gerekmez.

Özetlemek gerekirse, bu demo sırasında dikkat edilmesi gereken birkaç şey var. svg> etiketi, SVG görüntüsünü oluşturmak için kullanılır. SVG görüntüsünde bir etiket kullanılır. svg etiketi, body öğesinin içinde bulunur. Bir öğenin içinde bir etiket bulunabilir. *svg> etiketine atıfta bulunmak için bir tanımlayıcı kullanılır. Bir etiket olduğunda, öznitelik ona başvurmak için kullanılır. svg> etiketindeki animasyon özelliği "ease out" olarak ayarlanmıştır. featureeaseOut buna ayarlanmalıdır. svg> etiketi, %100, %100 olarak ayarlanmış bir genişlik ve yükseklik özelliğine sahiptir. Aşağıdaki kod, SVG kullanarak bir görüntü oluşturacak ve animasyon özniteliğini aseaseout olarak tanımlayacaktır. Biçim olarak XML xmlns=” http://www.w3.org/2000/svg” width=100% height=100% id=demo-svg svg kullanılabilir. Fareyi kullanarak üzerlerine tıklayarak SVG dosyalarıyla da etkileşim kurabilirsiniz. Bu yöntem, yeni bir öğe yaratarak, bunu gövde öğesine ekleyerek ve ardından bırakarak gerçekleştirilir. Aşağıdaki kodu elemente ekleyerek svg dosyanızı daha okunaklı hale getirebilirsiniz. svg> temel biçim olarak kullanılabilir. *xlink:href kullanın Bu sayfaya aşağıdaki URL üzerinden erişilebilir: */svg. Bunu yaparak SVG'de tıklanabilir bir nokta oluşturabileceksiniz. Kullanıcı arayüzüne bir noktaya iki kez tıklanarak erişilebilir. SVG etkileşiminin bazı kullanımları nelerdir? Çeşitli animasyonlar kullanıcı tarafından başlatılırken etkileşimli olabilir. Bir kullanıcı bir SVG görüntüsüne tıkladığında, gerçek zamanlıymış gibi görünen bir animasyon oluşturur. Web sitenizin etkileşimli görünmesini sağlamanın üçüncü bir yolu, kullanıcı ile site arasında gerçek zamanlı etkileşim yanılsaması eklemek için kullanılabilen etkileşimli SVG grafikleri kullanmaktır. Etkileşimli bir SVG görüntüsü oluşturmak için önce svg> etiketini kullanın. Daha sonra *svg'yi eklemelisiniz Bu adımda, animasyon niteliğini easeOut belirtmelisiniz. Her şey doğru ayarlanmışsa, web sayfanız tam olarak demoda gösterilenle aynı görünecektir. Bu demoyu izlerken akılda tutulması gereken birkaç şey var. Başlamak için svg> etiketinin ardından resim gelmelidir. Eklenecek ikinci öğe, gövde öğesinin içindeki HTML etiketi'svg'dir.

Neden Svg Kullanmalısınız?

SVG formatında XML ve vektör görseller kullanılmaktadır. Bu, bozulmaya neden olmadan yeniden boyutlandırılabileceği ve çözünürlüğe bağlı olmadığı anlamına gelir. CSS ve/veya JavaScript, SVG'yi kolayca değiştirmek ve canlandırmak için kullanılabilir. Sonuç olarak, SVG kullanmak daha hızlı sayfa yükleme süresi sağlar (JPG, JPEG ve PNG yerine). JavaScript, bir SVG belgesinde açılış ve kapanış etiketleri arasında herhangi bir yere eklenebilir. Engellemeyi önlemek ve DOM'a tam olarak erişmesine izin vermek için genellikle belgenin sonuna bir komut dosyası yerleştirilmesi önerilir. SVG görüntülerini doğrudan bir HTML belgesine yazmak istiyorsanız, bunu *svg kullanarak yapabilirsiniz. SVG görüntüsünü VS kodunda veya tercih ettiğiniz IDE'de açan kod, kopyalar ve HTML'nizin gövde öğesine yapıştırır belge gereklidir. Her şey yolunda gittiyse, aşağıdaki demo aynı görünmelidir.