Tam o sırada, başka bir pillinetwork sitesi olan zamazing.org'da: "NOMAD TRAVELLER HOPARLÖR"


Birçok resim tek bir resim dosyasında
Birçok resim tek bir resim dosyasında
CSS Sprite'ları konusunda daha önce bir yazıyla karşılaştınız mı? Sprite'ın bir içecektan olmaktan başka web tasarımından nasıl bir terim olduğunu biliyor musunuz? Eğer bilmiyorsanız Sprite nedir hep beraber öğrenelim...

Sprite nedir?
Sprite bir imaj dosyasıdır. Ama bu imaj dosyanın diğerlerinden tek bir farkı vardır o da birçok imaj dosyasını içinde bulundurmasıdır. Örneğin ülke bayraklarının herbirini tek tek kaydetmek yerine düzgün bir biçimde 1 imaj dosyasının içine kaydedebilirsiniz. Daha sonra css kodlarında bazı derlemeler yaparak her ülkenin bayrağını tek tek o dosyanın içinden ayırabilir ve sitenize ekleyebilirsiniz.

Performans Kazancı
Daha büyük bir imaj dosyasının daha çok hacim kaplayacağı doğrudur fakat tek tek kaydedilen her imajda aslında büyük dosyalardakine oranla daha çok bandwith kaybı vardır. Ayrıca sadece 1 imaj dosyası sunucudan ükleneceği için http request'lerinin sayısı azalarak sayfamız daha çabuk kullanıcıya sunulur.

Nasıl kullanılır?

#nav li a {background:none no-repeat left center} #nav li a.item1 {background-image:url('../img/image1.gif')} #nav li a:hover.item1 {background-image:url('../img/image1_over.gif')} #nav li a.item2 {background-image:url('../img/image2.gif')} #nav li a:hover.item2 {background-image:url('../img/image2_over.gif')}

Örneğin yukarıdaki gibi bir css kodumuz olsun. Gördüğünüz gibi her linkin arkaplanına bir resim yerleştirilmiş. Bu resimler toplam 20.5 kb yer kaplamakta ve 10 http-request'i ile sayfaya çağrılmakta.

#nav li a {background-image:url('../img/image_nav.gif')} #nav li a.item1 {background-position:0px 0px} #nav li a:hover.item1 {background-position:0px -72px} #nav li a.item2 {background-position:0px -143px;} #nav li a:hover.item2 {background-position:0px -215px;}

Üstteki örnekte ise her imaj toplam 13 kb yer kaplayan bir imaj dosyasının için konulmuş ve CSS dosyası sayesinde bunların tek tek konumları belirlenerek linklenmiş. Bu sayede 1 http-request'i ile sayfalar daha da hızlandırılmış.

Gördüğünüz gibi sitelerin hem hızlanmasını hem de daha az bandwidth kullanmasını sağlayan Sprite'lar sitelerin üstündeki yükü bir nebze olsun azaltmakta. Eğer kolayca Sprite yapmak isterseniz Sprite Generator adlı siteyi kullanabilirsiniz.

Ayrıca konuya örnek olarak gösterilebilecek olan Tek bir resim dosyası ile yuvarlak köşeli kutular yapmak yazısı eburhan tarafından yazılmış.

Not: Bu bildiri Css-Tricks kaynağındaki bu yazıdan yararlanılarak yazılmıştır.

 | 11 yorum var 
 | 22 Haziran 2008 14:33 

sonraki yazı »
Çin yapımı UFO

Yorumlar

sprite konusunu ilk defa duydum ve cok hosuma gitti. Aslinda ilk resim dosyasi server'dan request ediliyor fakat daha sonra ayni resim dosyasi istendiginde cache'den geliyor. Fakat yine de request sayisini azaltmasi, web server'lar uzerinde olumlu etki yapacagi kacinilmaz.

sekanet |  (0 puan) 22 Haziran 2008 14:56

yazıyı begendim, aynı sprite uygulamaları programların tema dosyalarında da var... örneğin winamp.

beder |  (0 puan) 22 Haziran 2008 15:54

evet birçok programda kullanılan bir uygulama ama son zamanlarda web'de de oldukça yaygın

basarozcan |  (0 puan) 22 Haziran 2008 16:15

uzun zamandan beri nasıl olduğunu merak ediyordum bunun, isminin sprite olduğunu öğrenmiş oldum. uygulaması daha meşakatli gibi gözükse de denemeye değer bence

EcHoJanZ |  (0 puan) 22 Haziran 2008 16:20

tekniğin en önemli artısı performans optimizasyonu. yahoo!nun developer networkte vs de önerdiği teknik bu.

özellikle hover efektlerinde farklı bir imaj çağırmak kadar işkence birşey yok. her seferinde tekrar çağırılır imaj. ama bu teknikle sadece arkaplan pozisyonu değiştireceği için hem bandwidth hem de rendering hızı alırsınız.

gameover |  (0 puan) 22 Haziran 2008 16:22

Bu yöntemin kullanıldığını daha evvel bir kaç sitede görmeme rağmen ne olduğunu öğrenememiştim... Teşekkürler basarozcan...

"Çocukluğunu cebine koy ve hemen kaç, zira sahip olduğun tek şey bu..."
CemeL |  (0 puan) 22 Haziran 2008 23:01

böyle bir web tekniği olduğunu bilmiyordum. ben de arabirimi (skin) olan programlarda böyle bir yöntemin uygulandığını farketmiştim. ama nasıl yapıldığını bilmiyordum. gerçi program arabirimi olarak baktığımızda CSS yada sprite kullanılmıyordur ama benzer bir sistem.

bildiri için teşekkürler..

turkuas |  (0 puan) 22 Haziran 2008 23:35

adının ne olduğunu hep merak ediyordum öğrendiğim iyi oldu cok tesekkürler

dislek |  (0 puan) 23 Haziran 2008 00:33

teee 8 bit bilgisayarlar zamanından gelme bir tekniktir.. css'in çıkması ile web'de çok sık kullanılmıştır da.. güzel bildiri teşekkürler..

supermeg |  (0 puan) 23 Haziran 2008 09:45

rollover butonlarda da kullanılıyor. butonun üstüne geldiğiniz kısmı a:hover ile position belirtip gösteriyorsunuz. güzel bi yöntem

CarpE DieM
nonline |  (0 puan) 23 Haziran 2008 14:30

www.apple.com'u incelerken bakmistim bende

navbar in
orjinal resmi bu.

nilux |  (0 puan) 24 Haziran 2008 12:45

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)
bildirgec.org bölümleri
pillinetwork hesabınızla giriş yapın.

pilli ilan

son yorumlar

pilli ilan

Tutulanlar Banner

bildirgecinfo

bildirgec.org içeriği kullanıcıları tarafından üretilen kolektif bir blogdur.

RSS Dosyası
pillikutu