Saya menggunakan CSS untuk menempatkan banyak gambar saya (sebagai latar belakang untuk <div>
) dan saya sering menemukan bahwa mereka memuat sangat lambat dengan cara ini. Mereka tampaknya menjadi hal terakhir yang dimuat. Bahkan gambar ikon kecil kecil membutuhkan waktu untuk muncul dengan cara ini. Apakah ada cara untuk memberi tahu browser prioritas untuk gambar? Atau dapatkan untuk mengunduh gambar dalam file CSS sebelumnya dan membuatnya lebih awal?
13
Jawaban:
CSS untuk penataan, bukan konten. Browser (benar) mencoba dan menampilkan konten sebelum menambahkan gaya, maka alasan mengapa gambar dalam style-sheet biasanya diunduh terakhir. Jika gambar penting untuk konten Anda maka tambahkan melalui
<IMG>
tag HTML standar .sumber
Gunakan URI absolut dari stylesheet Anda dan tambahkan gambar dari tag IMG ke tersembunyi
<div>
di halaman (ini mengasumsikan Anda menggunakan gambar yang sama di setiap halaman; idealnya di footer sehingga semuanya dimuat dan di-cache pada setiap panggilan halaman yang diberikan ).Gambar pada halaman mendapatkan prioritas dan, setelah gambar di-cache, mereka akan membuat segera pada permintaan halaman berikutnya.
sumber
Untuk browser yang mendukung tipe data URI (lihat http://en.wikipedia.org/wiki/Data_Uri untuk info) untuk memasukkan gambar dalam CSS itu sendiri.
Ini memiliki beberapa kelemahan:
sumber
Sampai sekarang tidak ada cara untuk menentukan file mana yang diunduh terlebih dahulu. FYI, gambar yang ditentukan dalam file CSS sebagai unduhan gambar latar belakang terakhir mungkin karena browser melihatnya non-konten dan dengan demikian prioritas yang lebih rendah jadi hindari menggunakannya untuk gambar penting yang ingin Anda muat dengan cepat.
sumber
Gunakan sprite CSS , terutama untuk ikon.
sumber
Jadikan gambar Anda sekecil mungkin. Anda dapat menggunakan smush.it untuk menghapus byte yang tidak perlu.
sumber