motion-offset
. Bu ve diğer tüm ilgili hareket- * özellikleri, spesifikasyonda ofset- * olarak yeniden adlandırılıyor. Burada almanakta isimleri değiştiriyoruz. Şu anda kullanmak istiyorsanız, muhtemelen en iyisi her iki sözdizimini de kullanmaktır.
CSS'deki motion-offset
mülk diyor ki: ne kadar uzaktasınız motion-path
? Bu, hareket yollarıyla ilişkili canlandırılabilir özelliktir.
.thing-that-moves ( /* "Old" syntax. Available in Blink browsers as of ~October 2015 */ motion-path: path('M 5 5 m -4, 0 a 4,4 0 1,0 8,0 a 4,4 0 1,0 -8,0'); motion-offset: 0%; /* Currently spec'd syntax. Should be in stable Chrome as of ~December 2016 */ offset-path: path('M 5 5 m -4, 0 a 4,4 0 1,0 8,0 a 4,4 0 1,0 -8,0'); offset-distance: 0%; animation: move 3s linear infinite; ) /* Animate the element along the path from 0% to 100% */ @keyframes move ( 100% ( motion-offset: 100%; /* Old */ offset-distance: 100%; /* New */ ) )
Yukarıdaki örnekte, başlangıç motion-offset
değerini olarak ayarladık 0%
, ancak açıkça tanımlanmadığında bile sıfırın varsayılan değer olduğunu belirtmek gerekir (bunu dışarıda bırakabilirdik).
Değişkenler
offset-distance
Özellik aşağıdaki değerleri kabul eder:
length
percentage
Her iki durumda da değer, yolun başlangıç noktasından (varsayılan 0px
veya değeridir) yolun bitiş noktasına kadar olan mesafenin uzunluğunu belirtir 0%
.
Misal
Bu örnekte, küçük bir dairenin daha büyük bir dairenin yolu boyunca hareket ettiği iki dairemiz var.
Şekilleri çizmek için kullandığımız SVG dosyası:
Şimdi, .marker
CSS'mizdeki .track
sınıfı , sınıf koordinatlarını takip edecek şekilde ayarlayabiliriz :
/* The motion-offset is zero by default */ .marker ( offset-path: path('M 5 5 m -4, 0 a 4,4 0 1,0 8,0 a 4,4 0 1,0 -8,0'); animation: move 3s linear infinite; ) @keyframes move ( /* Move the .marker from it's default value of 0% to 100% of the path's length */ 100% ( offset-distance: 100%; ) )
CodePen'de Geoff Graham (@geoffgraham) tarafından yazılan Bir Yol Boyunca Animasyonun Kalem Basit Örneğine bakın.
Benzer şekilde, offset-distance
değeri% 50'de durdurabiliriz ve animasyon yolun yarısına kadar düşer:
CodePen'de Geoff Graham (@geoffgraham) tarafından yazılan Bir Yol Boyunca Animasyonun Kalem Basit Örneğine bakın.
Ya da animasyonun hızını kontrol etmek için, işleri hızlandırmak için offset-distance
değeri% 300 ile çarpabiliriz . Bununla birlikte, animasyonun, öğenin yolda ilerlemesi için gerekenden daha büyük bir değerde çalışacağı süreyi belirlediysek, animasyon tekrarlamadan önce aralığını tamamlayana kadar hareket duracaktır:
CodePen'de Geoff Graham (@geoffgraham) tarafından yazılan Bir Yol Boyunca Animasyonun Kalem Basit Örneğine bakın.
Tarayıcı desteği
bu offset-distance
özellik, bu yazının yazıldığı tarihte hala deneysel bir özellik olarak kabul edilmektedir ve tarayıcı desteğiyle ilgili herhangi bir belge bulunmamaktadır. Ancak, motion-path
destekle ilgili belgeler var ve bunu şimdilik bir temel olarak kullanabiliriz.
Bu tarayıcı destek verileri, daha fazla ayrıntıya sahip olan Caniuse'den alınmıştır. Bir sayı, tarayıcının özelliği o sürümde ve sonrasında desteklediğini gösterir.
Masaüstü Bilgisayar
Krom | Firefox | IE | Kenar | Safari |
---|---|---|---|---|
46 | 72 | Hayır | 79 | Hayır |
Mobil / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | Hayır |
ek bilgi
- Hareket Yolu Modülü Seviye 1 Spesifikasyonu
- CodePen ile ilgili örnekler
- WebKit Bilet # 139128
- Mozilla Bileti # 1186329
- Microsoft Edge özellik isteği