Điều này đã làm tôi thất vọng trong nhiều năm. Sửa CSS của tôi đặt một hình ảnh nền trên img
. Khi một hình ảnh động src
không tải lên nền trước, một trình giữ chỗ sẽ hiển thị trên img
bg của. Đây hoạt động nếu hình ảnh của bạn có kích thước mặc định (ví dụ height
, min-height
, width
và / hoặc min-width
).
Bạn sẽ thấy biểu tượng hình ảnh bị hỏng nhưng đó là một cải tiến. Đã thử nghiệm xuống IE9 thành công. iOS Safari và Chrome thậm chí không hiển thị biểu tượng bị hỏng.
.dynamicContainer img {
background: url('/images/placeholder.png');
background-size: contain;
}
Thêm một hình ảnh động nhỏ để cung cấp src
thời gian để tải mà không nhấp nháy nền. Chrome mờ dần trong nền một cách mượt mà nhưng Safari trên máy tính để bàn thì không.
.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; }
}