3
我有一個<img>
顯示遠程圖像。 我希望它回退到另一個本地映像,在遠程無法訪問的情況下。帶CSS的後備圖像
<img class="cc_image fallback" src="http://www.iconarchive.com/download/i82888/limav/flat-gradient-social/Creative-Commons.ico">
.cc_image {
width: 256px;
height: 256px;
}
.cc_image.fallback {
/* this URL here is theoretically a local one (always reachable) */
background-image: url('https://cdn2.iconfinder.com/data/icons/picons-basic-3/57/basic3-010_creative_commons-256.png');
}
它的工作原理,這樣當沒有找到SRC圖像,然後背景圖像將被顯示。
的缺點是:
- 它將總是加載背景圖像(附加的HTTP請求)
- 它示出了在地方稍微未找到圖標(在Safari問號) TE原始圖像的,那就是背景圖片上方顯示(不是一個大問題,但我想擺脫它)
我怎麼能解決這些問題? 或者:還有其他技術可以達到相同的效果嗎?
我發現this question但給定的解決方案依賴於Javascript或<object>
(這似乎不適用於Chrome)。我想要一個純粹的CSS/HTML解決方案,如果可能,不使用Javascript。
我知道關於多個background-image
,但我不確定它是否是一個好選擇(瀏覽器支持?並且它會後備一個無法訪問的圖像?)。 或者我正在考慮嵌入一個SVG圖像作爲data-uri。
對最靈活(和兼容)方法的建議?
可能相關 - http://stackoverflow.com/questions/22051573/how-to-hide-image-broken-icon-using-only-css-html-without-js –
我想你可以使用類的後備圖像,像這樣: –
最好的答案,與圖像有一個alpha的作品:http://stackoverflow.com/questions/8124866/how-does-one-use-the-onerror-attribute-of- an-img-element thx @MadalinaTaina讓我找到它! – Salix