Sto cercando un modo per fornire immagini ad alta risoluzione ai client iOS8 fornendo allo stesso tempo risorse di immagini reattive per i browser che supportano la sintassi w. Secondo lo standard W3C dovrebbe essere possibile mescolare entrambe le sintassi in un attributo srcset:HTML5 srcset: mixaggio della sintassi x e 01
<img alt="The Breakfast Combo"
src="banner.jpeg"
srcset="banner-HD.jpeg 2x, banner-phone.jpeg 100w, banner-phone-HD.jpeg 100w 2x">
(Fonte: http://drafts.htmlwg.org/srcset/w3c-srcset/)
Tuttavia, quando si esegue l'esempio in Chrome 38 (OS X, nessun alto dpi) che supporta la sintassi w in altri casi il browser carica sempre l'immagine più grande (banner-HD.jpeg), indipendentemente dalla dimensione della finestra. Quando aggiungo
banner.jpeg 1x
al srcset Chrome utilizza tale immagine, ma ignora ancora le immagini 100W.
Nel mio caso vorrei specificare una versione più piccola di un'immagine così come le risorse 2x per entrambi:
<img src="default.png"
srcset="small.png 480w, [email protected] 480w 2x, medium.png 1x, [email protected] 2x">
che sembra funzionare su dispositivi 2x iOS 8, che captano media @ 2x .png perché non supportano la sintassi w. Tuttavia, a quanto pare, Chrome non sembra importare e carica medium.png indipendentemente dalla dimensione della finestra.
Sto facendo qualcosa di sbagliato qui o si tratta di un problema noto nell'implementazione di srcset da parte di Chrome?
Grazie per questo chiarimento.All'improvviso molti post sul blog che ho letto sull'argomento hanno più senso per me, apparentemente alcuni hanno spiegato la vecchia e alcuni la nuova implementazione. Ho già provato il polyfill e mi è piaciuto molto (soprattutto a causa del caricamento intelligente dell'immagine). Sfortunatamente in questo caso sono limitato dal CMS e dalle specifiche di larghezza dell'immagine fissa (attributi di altezza e larghezza). – s2b
Oh, questo è cattivo. L'attuazione del respimg con le dimensioni è davvero difficile in pratica. Potresti voler controllare lazysizes width data-sizes = "auto". Finché si sperimenta, è possibile utilizzare la versione * .dev.js, che fornisce alcuni suggerimenti sul markup nella console. Ovviamente lo fa solo in ff, ie e safari. In effetti ci sono alcuni cattivi tutorial là fuori. Ricorda inoltre che il respimage non è solo "più veloce" circa l'80% del mio tempo di codifica che spendo per correggere bug e migliorare la compilazione standard rispetto a pf. Thx per l'utilizzo ;-) –
"Non è valido combinare descrittori di larghezza e descrittori di densità di pixel nello stesso attributo srcset." [MDN] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Img) –