GSAP ile Animasyonlu Ölçeklenebilir Vektör Grafikleri
Yayınlanan: 2022-12-06Ölçeklenebilir Vektör Grafiklerinin (SVG) nasıl canlandırılacağına ilişkin bir eğitim istediğinizi varsayarsak:
SVG, geliştiriciler ve tasarımcılar tarafından iki boyutlu vektör grafikleri oluşturmak için kullanılan bir standarttır. Biçim, zengin grafikler üretebilirken, dosyaların boyutu genellikle diğer yaygın görüntü biçimlerinden daha küçüktür ve bu da onları web'de kullanım için ideal kılar.
SVG'yi canlandırmaya gelince, bunu yapmanın birkaç farklı yolu vardır. GreenSock'un GSAP'si belki de en popüler seçenektir, ancak tek seçenek değildir. Bu eğitimde, GSAP araçlarını kullanarak SVG'yi nasıl canlandıracağımıza ve JavaScript kullanarak animasyonları nasıl tetikleyeceğimize bir göz atacağız.
Bu, satır içi (HTML'de SVG kodu) ve parçaların CSS tabanlı animasyonları ile gerçekleştirilir. Alma materm Wufoo, burada kullandığımız reklam grafiklerini yenilemek istedi. Daha fazla kullanmak için iyi bir zaman gibi görünüyordu. Nasıl yapıldığı aşağıdaki videoda gösterilmiştir. CSS, animasyon gecikmesi özelliklerinin yerel rastgeleleştirilmesinden faydalanacaktır. Harflerin her aralıkta biraz ayarlandığını görmek harika olurdu. Bu animasyon yaklaşık 3 saniyede bitseydi güzel olurdu.
translateY(150px) efekti, dinozorun hiçbir şey görünmeyecek kadar aşağı hareket etmesine neden olur. Dinozor bu reklamda ilk başta gizlenmiştir, ancak bir içeri/ sola geçiş animasyonu devreye girdiğinde, Hızlı sözcükleri belirir. Ol' yastıklı kutu tekniğini kullanarak, satır içi SVG kullanırken aynı zamanda en boy oranını koruyan bir satır içi SVG ölçeği oluşturabiliriz. Bu bir reklam olduğu için, bir <a href=> kullanabilirsiniz, yalnızca, bir<div> kullanmak yerine block özelliğini display: block olarak ayarladığınızdan emin olun.
Hareketli nesneler yaratma eylemi. Dışa aktarıcı, SVG animasyonları oluşturmak için kullanılabilir. İşleme Modu Animasyon olarak ayarlandığında, ister bir çerçeve (F12 veya Shift-F12) isterse bir işlemedeki tüm kareler (Shift-F12 veya F12) olsun, bir işlemenin tüm çerçevesi tek bir dosyaya kaydedilir.
Animasyon öğeleri , SVG grafikleri oluşturmak için kullanılabilir. SMIL'in ilk animasyon öğeleri şu şekilde tanımlandı: *animate%27/animate%27 – bu, zaman içinde skaler nitelikleri ve özellikleri canlandırmanıza olanak tanır.
Çoğu durumda, başarısız bir SVG animasyonunun ana nedeni *img etiketlerinin kullanılmasıdır. Animasyon başladığında, SVG web sitesinde görünebilir ancak başlamaz. Bunu çözmenin en basit yolu, tüm img> etiketlerini bir object> etiketiyle değiştirmektir.
SVG'de animasyonlu efektler oluşturmak için vektör grafiklerini zaman içinde değiştirebilirsiniz. SVG içeriğini canlandırmanın birkaç yolu vardır. Bu parça için SVG'nin animasyon öğelerini [svg-animated] kullanacağım. Bir SVG belge parçasında yer alan veriler, belgenin öğelerinde zamana bağlı olarak değişiklikler yapılarak açıklanabilir.
Animasyonlu Bir Svg'yi Nasıl Oluştururum?
Animasyonlu bir SVG oluşturmanın birkaç yolu vardır. Bunun bir yolu, resmi oluşturmak için Adobe Illustrator gibi bir vektör çizim programı kullanmak ve ardından animasyonu eklemek için After Effects gibi bir araç kullanmaktır. Başka bir yol da, animasyonu doğrudan kod içinde oluşturmak için Snap.svg gibi bir araç kullanmaktır.
Bu öğretici, sva bağlamında CSS ile optimize etmenin ve canlandırmanın temel adımlarında size yol gösterecektir. Bu amaçla kullanılabilen tek Bootstrap sürümü Bootstrap 4.1.3'tür. Önyükleme yaparsanız, cep telefonlarında düzgün şekilde ölçeklendiğinden emin olmak için SVG'nizin img-fluid sınıfını içerdiğinden emin olun. Görüntü, SVG'ye sınıflar eklenerek özelleştirilebilir. CSS'den bir animasyon üzerinde efekt yapmasını istediğimizde, adını ve anahtar kareleri belirtmemiz gerekir. Dikdörtgenin kararması bittiğinde, metin animasyonu da aynı anda çalışmalıdır. Bu değişiklik nedeniyle, bu basamaktaki kübik çerçeve artık daha hızlı hareket halindedir. Bu animasyon, zamanın %40'ında ortada görünür. Kısa çizgi tüm yolu kaplayacak şekilde vuruş-dashoffset'i sıfırlıyoruz.
Bir Svg Nasıl Animasyon Yapılır?
Animasyonlu bir svg yapmak, doğru araçlar sayesinde basit ve eğlenceli bir süreç olabilir. Canlandırmak için çerçeveyi seçtiğinizde, SVG kullanarak dışa aktarabilirsiniz. Canlandırmak için o çerçevede bir düğüm de seçebilirsiniz. Canlı önizleme ile, tatmin olana kadar animasyonlarınızı değiştirebilirsiniz.
Bir HTML dosyasına animasyon uygulamadan önce anahtar kareleri ve adları bildirmeniz gerekir. Öğelere atayarak özellikleri koruyun. Tüm öğeler düzenlendikten sonra son dosyayı kaydedin.
Animasyon Svg Css
Bir SVG dosyasını canlandırmak, CSS ile yapılabilir. Animasyonu oluşturmak için kullanılabilecek bir dizi farklı özellik vardır. En yaygın özellikler şunlardır: animasyon, animasyon gecikmesi, animasyon süresi, animasyon yineleme sayısı, animasyon adı, animasyon oynatma durumu, animasyon zamanlama işlevi.
XML tabanlı bir vektör görüntü formatı olan ölçeklenebilir vektör grafikleri (SVG), iki boyutlu grafiklerde animasyonun yanı sıra etkileşime de izin verir. Bu makale, sva dosyalarının nasıl dışa aktarılacağını ve optimize edileceğini, gömüleceğini ve her birinin oluşturduğunuz stiller ve animasyonlar üzerinde nasıl bir etkiye sahip olduğunu açıklayacaktır. Stil ve animasyon için CSS kullanılacaktır. Yol ağırlıklı bir dosyayla çalışıyorsanız, ondalık basamak sayısını dörtten bire değiştirmek, dosya boyutunu %50 azaltabilir. Dosyanızın bozulmasıyla sonuçlanan bir optimizasyonun önizlemesini yapabilirsiniz, bu nedenle bu büyük bir artıdır. Peter Collingridge'in sva'yı optimize etmeye yönelik çevrimiçi aracı, mevcut birkaç araçtan biridir. SVG 1.1, CSS gerektirmediğinden, SVG düğümlerine uygulanan CSS stili nitelikleri, sunum nitelikleri olarak biliniyordu.
Sunum özniteliklerinin ayarlanması, bir öğe üzerinde CSS özelliğinin ayarlanmasına benzer. Stil basamaklarında önemli bir rol oynamalarına rağmen, bunu yakında daha derinlemesine açıklayabileceğiz. CSS özellikleri, bir SVG öğesinin stillerini tanımlamak için de kullanılabilir. Bir sva düğümünde sunum niteliklerini kullanmak, bunları bir CSS özelliğini tanımlamak için kullanmakla aynıdır. Tüm sunum nitelikleri, düşük seviyeli otorite stil sayfalarıdır, dolayısıyla başka herhangi bir stil tanımıyla belirtilebilirler. Diyagramda üstteki gibi alttaki stiller üstlerindekilerin yerine kullanılmalıdır. CSS2'nin:hover,:active ve:focus gibi dinamik sözde sınıfları çoğu SVG'ye stil vermek için kullanılır.
SVG öğelerinin HTML öğeleriyle aynı şekilde transforme ve transform-origin yeteneği, HTML öğelerinin CSS elemanlarının yaptığı gibi transforme ve transform-origin yeteneğine benzer. SVG'ler kutu modelleri tarafından yönetilmediğinden, HTML öğelerinde olduğu gibi kenarlık, dolgu veya kenar boşluğu yoktur. Hece belirtiminde belirtildiği gibi, uygun özellik adları (genellikle küçük harfler ve kısa çizgiler) CSS belirtimleriyle tanımlanır. Yüzde olarak bir transform-origin değeri belirtildiğinde, öğenin sınırlayıcı kutusuna göre ayarlanır. Şu an itibariyle Firefox, dönüşüm için orijinin yüzde değerleri olarak ayarlanmasını desteklemiyor. Dönüşümlerin uzun vadede düzgün davranmasını istiyorsanız mutlak değerler kullanmalısınız. Bir belgeye SVG eklemenin altı yolu vardır ve her biri kendi avantaj ve dezavantajlarına sahiptir.
Gömme yöntemini kullanarak bir SVG'yi gömdükten sonra belirli CSS stillerinin, animasyonlarının ve etkileşimlerinin çalışıp çalışmayacağını belirleyebilirsiniz. Teknik hakkında daha fazla bilgi Jake Archibald'ın mükemmel makalesinde bulunabilir. HTML standardının nasıl biçimlendirileceğini hiçbir zaman belirtmemiş olmasına rağmen, hala geniş çapta desteklenmektedir. >svg> etiketi, bir SVG'yi kod adası olarak bilinen satır içi bir belgeye dahil etmek için de kullanılabilir. SVG, satır içi SVG'ler ve CSS kullanılarak şekillendirilip canlandırılabildiğinden, onunla çalışmak daha kolaydır. Bir SVG'yi gömecekseniz, bunun tüm tarayıcılara gömülebilir olduğundan emin olun. Gömme tekniğine bağlı olarak, SVG çapraz tarayıcınızı uyumlu hale getirmek için hack'ler veya düzeltmeler eklemeniz gerekebilir.
Ayrıntıları görmek için Codrops ile ilgili makalemi okuyun. Bir görüntü arka plan olarak bir SVG'ye gömülü olduğunda herhangi bir yeni saldırı eklemek imkansızdır. Ayrıca öğenizin genişliğinin %100 olduğundan emin olmalısınız. CSS'de, değiştirilen öğeler için varsayılan boyut 300'e 150 pikseldir. Yalnızca Thierry Koblentz'in A List Apart'ta öncülüğünü yaptığı Adobe Photoshop hack'i bir iframe'i duyarlı hale getirebilir. CSS ortam sorguları da SVG'ye gönderilebilir. Medya sorgularıyla, bir SVG'nin stillerini görünüm alanı boyutları arasında değiştirebilirsiniz. SVG bir sayfanın görünümüne yanıt verdiğinde, bu sayfanın görünümü değil, kendi görünümüdür. Bu, uygulamadaki öğe sorgularıyla aynı kavramdır.
Css ile Svg Animasyonu
CSS, bu çok yönlü görüntü biçiminde animasyonlu görüntüler oluşturmak için kullanılabilir. Sonuç olarak, daha karmaşık etkiler daha kolay görüntülenebilir ve anlaşılabilir. SVG'ye basit sınıflar ekleyerek görüntünün şeklini istediğiniz gibi değiştirebilirsiniz. Daha dinamik grafikler oluşturmak için kullanabilirsiniz.
Svg Yolu Nasıl Animasyon Yapılır
Bir SVG yolunu canlandırmanın birkaç farklı yolu vardır: 1. SVG dönüştürme özniteliğini kullanma 2. CSS3 animasyonlarını kullanma 3. SMIL kullanma 4. JavaScript kullanma Dönüştürme özniteliği, bir SVG yolunu canlandırmanın en yaygın yoludur. Bu, yolun koordinatlarını dönüştürerek yolu canlandırmanıza izin verecektir. Yolu CSS3 kullanarak canlandırmak için, Animation-timing-function özelliğini lineer veya alternatif olarak ayarlamanız gerekir. Ardından, Animation-duration özelliğini animasyonun çalışmasını istediğiniz süreye ayarlayabilirsiniz. SMIL, yolu canlandırmanın başka bir yoludur. SMIL, Senkronize Multimedya Entegrasyon Dili anlamına gelir. Bu, öğeyi kullanarak yolu canlandırmanıza izin verecektir. Yolu canlandırmanın son yolu JavaScript kullanmaktır. Bunu yapmak için, yolun koordinatlarını güncelleyecek bir işlev oluşturmanız gerekecek. Ardından, animasyonu çalıştırmak için bu işlevi çağırabilirsiniz.
Bir SVG yolu kullanarak her şeyi kolayca oluşturabilirsiniz. Renkli piksellerden değil, oluşturulduktan sonra ekranda yorumlanabilen matematik fonksiyonlardan oluşan bir vektör görüntü formatıdır. Bu makale, getPointAtLength() bağlamında getPointAtLength() işlevini kullanarak yaratıcı amaçlar için bir SVG yolu veri kümesinin nasıl kullanılacağını gösterecektir. Bu animasyonun her karesinde bir yol boyunca yeni bir daire öğesini canlandıracağız. Her kare, her karede createParticle işlevine basılarak oluşturulacak yeni bir parçacıkla yüklenecektir. Animasyonu daha güzel hale getirmek için, daha gerçekçi görünmesi için sigortanın strok-dashoffset'ini de canlandırdım. Artık bir SVG yolundan noktaların koordinatlarını çıkarma ve yeni API'mizi kullanarak bunları başka herhangi bir yola uygulama yeteneğine sahibiz. Her vektörün animasyonunun yol boyunca kendi konumundan hesaplanan kendi gecikmesi olduğundan, güzel bir parçacık akışı üretmesi beklenir. Lütfen bu tekniği denemek için zaman ayırın ve sonuçlarınızı benimle Twitter'da paylaşın ve ne bulacağınızı görmek için sabırsızlanıyorum.
Neden Web Sitenizde Svgs'yi Hareketlendirmelisiniz?
JavaScript'e Harici JavaScript menüsünden erişilebilir. Bu yolu ekranda yavaş ve akıcı bir şekilde çiziyormuş gibi hareketlendirmek için çizgi (ve boşluk) uzunluklarını yol uzunluğuna eşit olarak ayarlamalısınız. Eğri yoldaki her çizgi ve boşluğun uzunluğu, tüm yolun uzunluğuna eşittir. Sva'yı nasıl canlandırıyorsunuz? Web sitelerini canlandırmak için CSS ve SVG'leri kullanmak, hacimli gifler ve videolarla karşılaştırıldığında daha hızlı yükleme süreleri sağlar. Başka bir JavaScript kitaplığı kurmadan web sitenizi canlandırma yeteneği, sayfa yüklemesinde basit animasyonlar yapmanıza da olanak tanır. Sence SMIL listeden çıkarılacak mı? Aslında SMIL animasyonlarının yerine geçmez. Spesifikasyon SMIL'e dayanmasına rağmen, yıllar içinde büyük ölçüde gelişti. Tarayıcı bunu çeşitli şekillerde destekler.
Svg Animasyon Örneği
SVG ile kullanılabilecek birkaç farklı animasyon türü vardır. Bunlar şunları içerir:
-SMIL animasyonları: SMIL (Synchronized Multimedia Integration Language) dilinde yazılmış animasyonlardır. SMIL, zamanlamayı ve animasyonu tanımlamak için kullanılan XML tabanlı bir dildir.
-CSS animasyonları: CSS ile yazılmış animasyonlardır. CSS, bir biçimlendirme dilinde yazılmış belgenin sunumunu tanımlamak için kullanılan bir stil sayfası dilidir.
-JavaScript animasyonları: JavaScript ile yazılmış animasyonlardır. JavaScript, etkileşimli web sayfaları oluşturmak için kullanılan bir programlama dilidir.
SVG (ölçeklenebilir vektör grafikleri), herhangi bir boyuta ölçeklenebilen görsel bir öğedir. Piksel tabanlı olmaktan çok kod tabanlı olduklarından, hayatlarının ilerleyen dönemlerinde değiştirilmeleri ve uyarlanmaları daha kolaydır. svg'nin en iyi kısımları nelerdir? Animasyonlar çok küçük ve yüklenmesi çok hızlı. Çok çeşitli modern web tasarım uygulamaları için idealdirler. Animatör, bir görüntüye bağlıysa ve animasyon ayarları yapılmışsa onu canlandırmak için kullanılabilir. SVG'leri CSS, JavaScript veya HTML ile canlandırmak istiyorsanız, Framer'ın SVG Animasyon aracını kullanın.
Svg Css Canlandırabilir mi?
Kullanılabilen başka animasyon araçları da vardır, ancak bunları canlandırmak CSS kadar basit değildir.
Svg Neden Web Tasarımı İçin Üstün Görüntü Formatıdır?
Ölçeklenebilir Vektör Grafikleri (SVG), SEO dostu ve ölçeklenebilir yüksek kaliteli görüntüler üretmek için kullanılabilen bir vektör görüntü formatıdır. Düzenlemesi basit olmasının yanı sıra, ilgi çekici ve görsel olarak çekici kullanıcı arabirimi efektleri oluşturmak için kullanılabilecek çok çeşitli yerleşik filtrelere de sahiptir. Diğer tür, ölçeklenebilir ve özelleştirilmesi daha zor olan daha geleneksel bir metin tabanlı biçim olan CSS'dir.