Фонові зображення для екранів Retina за допомогою властивості завдання зображення
27 травня 2017 Опубліковано в css 1 Коментар »
Хоча відображення зображень, що належать до вмісту, на екранах високої роздільної здатності добре підтримано в HTML5 і CSS, включаючи новий елемент для великих зображень, а також атрибути srcset і sizes, фоновим зображенням для екранів Retina майже не приділялося уваги, і для них не з'являлося нових можливостей відображення. Так як фонові зображення часто досить великі і за роздільною здатністю і розміром файлу, це особливо неприємно. Хоча вже давно існувало посереднє рішення, тепер є і спосіб кращий.
Спосіб з використанням @media
Зображення високої роздільної здатності може бути показане на відповідних екранах за допомогою @media query, як ми розповідали раніше, за необхідності, перегляньте подробиці в цій статті. Скористаємося наступним кодом для перемикання між двома зображеннями, застосованими до тега body, - зображенням з роздільною здатністю 72DPI, що називається automobile.jpg, і версією високої роздільної здатності під назвою automobile-2x:
Використання функції завдання зображення
Більш коротким та ефективним способом може бути використання функції завдання зображення. Оскільки поки що вона підтримується тільки в браузерах на движку Webkit і в браузері Chrome, для її використання потрібна відповідна приставка виробника:
Можливо, Ви звернули увагу, що синтаксис вище дуже схожий на синтаксис x вказівника в srcset, який використовується для звичайних адаптивних зображень.
Висновок
Використання функції завдання зображення - це багатообіцяючий спосіб створення якісних фонових зображень для екранів Retina, але його застосування вимагає ретельного обмірковування: можна або використовувати вже звичний @media query, який працює у всіх браузерах,або функцію завдання зображення з обхідним шляхом, який покаже зображення звичайного дозволу у всіх браузерах, що не підтримують цю функцію.