यह मुझे वर्षों से निराश कर रहा है। मेरा सीएसएस फिक्स एक पृष्ठभूमि छवि सेट करता है img। जब एक गतिशील छवि srcअग्रभूमि में लोड नहीं होती है, तो एक प्लेसहोल्डर img's bg पर दिखाई देता है । यह काम करता है, तो आपकी छवियों एक डिफ़ॉल्ट आकार है (उदाहरण के लिए height, min-height, widthऔर / या min-width)।
आपको टूटी हुई छवि का आइकन दिखाई देगा, लेकिन यह एक सुधार है। IE9 के लिए सफलतापूर्वक परीक्षण किया गया। iOS सफारी और क्रोम टूटे हुए आइकन को भी नहीं दिखाते हैं।
.dynamicContainer img {
background: url('/images/placeholder.png');
background-size: contain;
}
srcपृष्ठभूमि झिलमिलाहट के बिना लोड करने के लिए समय देने के लिए थोड़ा एनीमेशन जोड़ें । क्रोम पृष्ठभूमि में सुचारू रूप से चलता है, लेकिन डेस्कटॉप सफारी नहीं करता है।
.dynamicContainer img {
background: url('/images/placeholder.png');
background-size: contain;
-webkit-animation: fadein 1s;
animation: fadein 1s;
}
@-webkit-keyframes fadein {
0% { opacity: 0.0; }
50% { opacity: 0.5; }
100% { opacity: 1.0; }
}
@keyframes fadein {
0% { opacity: 0.0; }
50% { opacity: 0.5; }
100% { opacity: 1.0; }
}