Tarayıcıyı CSS dosyasından resimleri daha hızlı indirmesi için nasıl teşvik edebilirim?


13

Görüntülerimin çoğunu (arka plan olarak <div>) yerleştirmek için CSS kullanıyorum ve genellikle bu şekilde çok yavaş yüklendiklerini görüyorum. Yüklenen son şey gibi görünüyorlar. Küçük simge görüntülerin bile bu şekilde görünmesi biraz zaman alıyor. Tarayıcıya görüntüler için öncelik vermenin bir yolu var mı? Veya daha önce CSS dosyasındaki görüntüleri indirip daha önce oluşturmasını mı istiyorsunuz?


CSS sprite diğer sorunuzun cevabı muhtemelen bu sorunun çözülmesine yardımcı olacaktır.
12:24

Yanıtlar:


10

CSS içerik için değil stil için. Tarayıcılar (haklı olarak) stil eklemeden önce içeriği denemeyi ve görüntülemeyi dener, bu nedenle stil sayfalarındaki görüntülerin genellikle en son indirilme nedenidir. Görüntüler içeriğiniz için önemliyse, bunları standart HTML <IMG>etiketleri aracılığıyla ekleyin .


2
Büyük tavsiye, özellikle son cümle. Dekorasyon için görüntü: CSS; İçerik resimleri: HTML.
DisgruntledGoat

1
Daniel'in bahsettiği görüntülerle ilgili açıklaması ("arka planlar", "simgeler") onları içeriğin aksine dekorasyona çok benzetiyor. Sanırım CSS'de olma hakları var.
Bobby Jack

5

Stil sayfanızdaki mutlak URI'leri kullanın ve IMG etiketlerinden resimleri gizli bir <div>sayfaya ekleyin (bu, her sayfada aynı resimleri kullandığınızı varsayar; ideal olarak altbilgide, böylece belirli bir sayfa çağrısına yüklenir ve önbelleğe alınır ).

Sayfadaki görüntüler öncelik kazanır ve resimler önbelleğe alındıktan sonra, sonraki sayfa isteklerinde hemen oluşturulur.


2

Görüntüyü CSS'ye dahil etmek için veri URI türünü destekleyen tarayıcılar için (bkz. Http://en.wikipedia.org/wiki/Data_Uri ).

Ancak bunun birkaç dezavantajı vardır:

  • Veriler, CSS'niz ayrı ayrı önbelleklenmek yerine yeniden yüklenir, ancak CSS'niz düzenli olarak değişmedikçe bu çok da sorun değildir.
  • CSS'nin kalıtım eksikliği ve bu gibi araçlar, aynı grafiği birden çok kez eklemeniz veya belgenizde kullanılan sınıfları değiştirmeniz gerektiğinde zamanlar (bant genişliğini harcayan) olabilir.
  • Görüntüler bu şekilde kullanıldığında base64 olarak kodlanır, bu da daha fazla bant genişliği aldıkları anlamına gelir (sıkıştırılmış veri gönderiyorsanız bant genişliği sorunu çok daha az önemlidir).
  • Veri nadiren çok uzak olan veri URI'lerini desteklemeyen tarayıcılar için alternatif stiller sağlamanız gerekir (örneğin IE6 ve IE7).

1

Şu andan itibaren ilk olarak hangi dosyaların indirileceğini belirtmenin bir yolu yoktur. FYI, CSS dosyalarında arka plan görüntüleri olarak belirtilen görüntüler en son indirilir çünkü tarayıcı onları içeriksiz ve dolayısıyla daha düşük bir öncelik olarak görür, bu yüzden bunları hızlı bir şekilde yüklemek istediğiniz önemli görüntüler için kullanmaktan kaçının.



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.