(使用最新版本的Firefox)的圖srcset加載圖像時,瀏覽器的一半圖像尺寸
我有我寫的img
像這樣:
<body>
<script>
function imageLoaded(img) {
console.log('the responsive image is loaded');
img.className += ' loaded';
}
</script>
<img class="backgroundImage"
onload="imageLoaded(this)"
src="assets/water_bg_1920.jpg"
sizes="100vw"
srcset="assets/water_bg_2560.jpg 2560w,
assets/water_bg_1920.jpg 1920w,
assets/water_bg_1024.jpg 1024w"/>
</body>
和我CSS-
@keyframes fadeIn
0%
opacity: 0
100%
opacity: 1
.backgroundImage
opacity: 0
.loaded
opacity: 1
animation: fadeIn 3s
當我的瀏覽器是在960px
,它加載1920
圖像。在512px
它加載1024
圖像。任何更高的和它加載2560
圖像。
我,究竟如何它決定在這些寬度加載這些圖像時,我有sizes
設置爲100vw
很困惑。不應該使用1024
圖片,直到瀏覽器寬度爲1024px
,1920
圖片的瀏覽器寬度從1024px - 1920px
和2560 img的任何一個更高時?我在這裏誤解了什麼嗎?
編輯:行爲也發生在Chrome的最新版本,除了在除了原有的問題它裝載在此外較小的圖像 - 每次到2560
形象!
edit2:最新版本的Safari的行爲與Firefox相同。
編輯3:發現一個fiddle由別人測試。它的行爲方式相同(在瀏覽器寬度爲圖像大小的50%之前不使用較小的圖像)。這是一個錯誤?或預期的功能srcset
& sizes
?
需要看到代碼此功能:'imageLoaded(本)'和可能的'.backgroundImage' CSS爲好。 – zer00ne
我編輯了原帖。對不起,我不認爲它們是相關的。 – shanling
不用擔心,我認爲這個功能可能會讓你失望,讓我們來看看...... – zer00ne