2010-08-19 8 views
19

मैंने आपके अनुरोध को गिनने के लिए sprites का उपयोग करने के महत्व के बारे में बहुत कुछ सुना है। लेकिन मेरी सोच यह है कि sprites का उपयोग करने के बजाय, आप एक ही चीज को पूरा करने के लिए यूआरआई का उपयोग कर सकते हैं, और बहुत आसान (कोई स्प्राइट सृजन की आवश्यकता नहीं है)।सीएसएस स्प्राइट्स बनाम डेटा यूआरआई

क्या यह sprites या uris का उपयोग करना बेहतर है?

+3

मेरे जैसे ऐसे लोगों के लिए जो इस पोस्ट से पहले यूआरआई डेटा नहीं जानते थे, http://www.nczonline.net/blog/2010/07/06/data-uris-make-css-sprites-obsolete/ –

+0

@meder, * ooooooh * +1! =) –

उत्तर

27

बेस 64-एन्कोडेड डेटा कच्चे बाइट्स से लगभग 1/3 बड़ा है, इसलिए उन सभी पृष्ठों पर जहां सभी छवि डेटा डाउनलोड करने के लिए अनुरोध करने के तीन गुना अधिक समय लगता है, सीएसएस स्प्राइट प्रदर्शन के आधार से बेहतर होते हैं।

इसके अलावा, इनलाइन डेटा यूआरआई फ़ाइल को वास्तविक डेटा प्लस बेस 64-एन्कोडेड छवियों के रूप में लोड करने में लंबे समय तक लेते हैं। यदि डेटा यूआरआई आपके वास्तविक HTML पृष्ठ पर हैं, तो इसका मतलब है कि प्रतिपादन रोकता है और छवि लोड होने की प्रतीक्षा करता है। यदि डेटा यूआरआई आपकी स्टाइलशीट में हैं, तो इसका मतलब है कि डेटा यूआरआई के संसाधित होने से पहले इसके लिए इंतजार करना पड़ता है। दूसरी ओर, एक स्प्राइट फ़ाइल के साथ, छवियां आपके अन्य संसाधनों के साथ एक साथ लोड हो सकती हैं। यह एक अतिरिक्त अनुरोध की लागत के लायक हो सकता है, खासकर जब आप बेस 64 जुर्माना में कारक हैं।

+0

+1 क्रॉस-ब्राउज़र संगतता भी एक समस्या है। –

+5

ये महान अंक हैं। मैं 1 अनुरोध पर विचार नहीं करता कि एक स्प्राइट को हालांकि दोष की आवश्यकता होती है। प्राथमिक दोष उन्हें बनाना है, और यदि आप संपादन करते हैं तो उन्हें रीमेक करें। – Mark

+0

हे चक, क्या आपने सीएसएस फाइलों में डेटा यूरी बनाम स्प्राइट्स/आईएमजी का उपयोग करने के बीच अंतर पर कोई वास्तविक प्रदर्शन परीक्षण किया था? या आप उस विषय पर किसी भी संसाधन के बारे में जानते हैं? – andrej

2

मुझे लगता है कि आईई 5, 6 और 7 के लिए समर्थन यूआरआई पर स्प्राइट्स का उपयोग करने का एक अच्छा कारण होगा, यदि वे लक्ष्य आपके लिए महत्वपूर्ण हैं।

+0

इसलिए, यदि आपका लक्ष्य आपके पृष्ठों पर अनुरोधों की संख्या को कम करना है, तो आपको अपनी मुख्य सीएसएस फ़ाइल में डेटा यूआरआई का उपयोग करना चाहिए और फिर <= IE7 के लिए वैकल्पिक चादरें प्रदान करना चाहिए जो sprites का उपयोग करें। –

+0

आप हमेशा उन ब्राउज़रों के लिए एक विकल्प के रूप में एमएचटीएम का उपयोग कर सकते हैं। – Ryan

संबंधित मुद्दे