2015-12-25 10 views
6

Podczas korzystania z obrazu elastycznego ustawionego za pomocą , bez punktów przerwania (tj. Bez atrybutu sizes), zazwyczaj dostarczane są różne wersje tego samego obrazu o różnej rozdzielczości, które następnie definiuje się w atrybucie srcset, stosując składnię gęstości pikseli, np. 1x, 2x, 3xHTMLr srcset: jest 1x obowiązkowe?

Jednak zwykle wersja obrazu 1x jest właśnie ten sam obraz, który został już zdefiniowany w atrybucie src, więc jest to trochę zbędne. Zastanawiam się - czy parametr 1x w parametrze naprawdę niezbędnym/obowiązkowym jest określony w parametrze 1x?

Przy zastosowaniu tylko

<img src="http://placehold.it/350x150" srcset="http://placehold.it/700x300 2x"> 

zamiast

<img src="http://placehold.it/350x150" srcset="http://placehold.it/350x150 1x, http://placehold.it/700x300 2x"> 

to przynajmniej Firefox będzie poprawnie wyświetlać 350x150 obraz i tak szybko, jak poziom powiększenia/dppx jest > 1 będzie korzystał z 700x300 wizerunek .

Pominięcie definicji 1x w srcset spowoduje zapisanie kilku bajtów, szczególnie na stronie z dużą galerią miniaturek.

Odpowiedz

7

Specification mówi:

Jeśli dziecko posiada atrybut src którego wartość nie jest pusty ciąg i źródło ustawione nie zawiera źródła obrazu o wartości deskryptora gęstość 1, i nie źródło obrazu z deskryptorem szerokości, dołączanie wartości dla dziecka o wartości src do zestawu źródłowego.

Czyli można pominąć źródło 1x jeśli jego samego jako atrybut src, ale nie można tego zrobić, jeśli używasz deskryptory szerokości.

+0

Dziękuję bardzo :). Ma sens. – fritzmg

Powiązane problemy