2012-04-16 12 views
5

मेरा विचार है, तो आप एक 200x200 स्प्राइट के साथ शुरू (जिसका अर्थ है डबल संकल्प छवि 400x400 है) यह सोचते है इस:'सीटीना' डिस्प्ले के लिए इस सीएसएस स्प्राइट समाधान के लिए कोई कमी?

.sprite { 
    background-image:url('1x.png'); 
    background-repeat: no-repeat; 
    background-size: 200px 200px; 
} 

@media only screen and (-webkit-min-device-pixel-ratio: 2) { 
    .sprite { 
     background-image:url('2x.png'); 
    } 
} 

लाइव उदाहरण: http://ov3rkill.com/temp/a5dii52/

मैं थोड़ी देर के निर्धारित करने के लिए कोशिश कर रहा है के लिए संघर्ष किया गया है उच्च संकल्प छवियों को वितरित करने का सबसे अच्छा तरीका (पहले मैंने सभी छवियों को अलग रखा और उन्हें अलग-अलग आकार दिया) और यह स्पष्ट रूप से बहुत आसान लगता है।

क्या कोई भी संभावित कमी देख सकता है? मैं उत्पादन के उपयोग के लिए इसके साथ झुका रहा हूं और अब तक यह काम करता प्रतीत होता है।

+0

मुझे लगता है कि एक दोष यह है कि फोन दोनों छवियों को डाउनलोड करेगा। मीडिया क्वेरी को संसाधित करने के बाद केवल दो अलग-अलग स्टाइलशीट का उपयोग करने के बारे में क्या उपयोग किया जाता है? –

उत्तर

4

चूंकि रेटिना के लिए मीडिया क्वेरी लोड पर बुलाया जा रहा है, इसलिए इसे छोटी छवि को लोड करने के लिए मूल कॉल को ओवरराइड करना चाहिए। रेटिना डिस्प्ले पर इस विधि का उपयोग करते समय मैंने कभी भी कम-रेज छवि चमकती नहीं देखी है।

क्या किसी ने जेएस का उपयोग यह पुष्टि करने के लिए किया है कि रेटिना डिस्प्ले पर छोटी छवि लोड हो? मुझे जानना उत्सुक है।

+0

प्रारंभिक छवि को लोड करने के लिए @media स्क्रीन और (-webkit-min-device-pixel-ratio: 2) संभावित रूप से उपयोग कर सकता है, लेकिन वह कुछ उपयोगकर्ता एजेंटों को ले जाएगा जो कीवर्ड 'नहीं' को छोड़कर नहीं करते हैं उन उपयोगकर्ताओं के लिए समर्थन। – 4lun

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