5.1 Атрибут srcset
Адаптивные изображения играют важную роль в создании отзывчивых и оптимизированных веб-страниц. Они позволяют загружать изображения различных размеров и разрешений в зависимости от устройства и условий просмотра, что улучшает производительность и удобство использования. Основные инструменты для реализации адаптивных изображений в HTML — это атрибуты srcset и sizes.
Атрибут srcset используется для указания нескольких источников изображения с различными размерами или разрешениями. Браузер выбирает наиболее подходящее изображение в зависимости от устройства пользователя.
Синтаксис:
<img src="default.jpg" srcset="image1.jpg 1x, image2.jpg 2x" alt="Example Image">
Где:
src: указывает путь к изображению по умолчаниюsrcset: содержит список изображений и их характеристики, разделенные запятыми-
1x,2x: указывают коэффициент масштабирования (например,1xдля стандартного разрешения и2xдля устройств с высокой плотностью пикселей)
Пример использования srcset:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Пример использования srcset</title>
</head>
<body>
<img
src="images/default.jpg"
srcset="images/image-small.jpg 480w,
images/image-medium.jpg 800w,
images/image-large.jpg 1200w"
alt="Пример адаптивного изображения">
</body>
</html>
Объяснение кода:
src="images/default.jpg": указывает изображение по умолчанию-
srcset: содержит список изображений с указанием их ширины в пикселях (480w,800w,1200w). Браузер выбирает наиболее подходящее изображение в зависимости от ширины окна просмотра
5.2 Атрибут sizes
Атрибут sizes используется в сочетании с srcset для указания ширины изображения в разных условиях отображения. Это позволяет браузеру более точно выбирать подходящее изображение.
Синтаксис:
<img src="default.jpg"
srcset="image1.jpg 480w, image2.jpg 800w"
sizes="(max-width: 600px) 480px, 800px"
alt="Example Image">
Где:
sizes: содержит список условий отображения и соответствующих ширин изображения(max-width: 600px) 480px: если ширина окна просмотра меньше или равна600px, использовать изображение шириной480px800px: во всех остальных случаях использовать изображение шириной800px
Пример использования sizes:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Пример использования sizes</title>
<style>
.responsive-img {
width: 100%;
max-width: 100%;
height: auto;
}
</style>
</head>
<body>
<img
class="responsive-img"
src="images/default.jpg"
srcset="images/image-small.jpg 480w,
images/image-medium.jpg 800w,
images/image-large.jpg 1200w"
sizes="(max-width: 600px) 480px,
(max-width: 900px) 800px,
1200px"
alt="Пример адаптивного изображения">
</body>
</html>
Объяснение кода:
sizes определяет ширину изображения для различных условий отображения:
- Если ширина окна просмотра меньше или равна
600px, использовать изображение шириной480px - Если ширина окна просмотра меньше или равна
900px, использовать изображение шириной800px - Во всех остальных случаях использовать изображение шириной
1200px
5.3 Адаптивные изображения
Адаптивное изображение для разных размеров экрана
Создадим пример, в котором изображение адаптируется к различным размерам экрана с использованием атрибутов srcset и sizes.
Пример:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Адаптивное изображение</title>
<style>
.responsive-img {
width: 100%;
height: auto;
}
</style>
</head>
<body>
<img
class="responsive-img"
src="images/default.jpg"
srcset="images/image-small.jpg 480w,
images/image-medium.jpg 800w,
images/image-large.jpg 1200w"
sizes="(max-width: 600px) 480px,
(max-width: 900px) 800px,
1200px"
alt="Пример адаптивного изображения">
</body>
</html>
Объяснение кода:
src="images/default.jpg": указывает изображение по умолчаниюsrcset: определяет три версии изображения с различными ширинами (480w,800w,1200w)-
sizes: определяет ширину изображения для разных условий:- до
600px— использовать изображение шириной480px - до
900px— использовать изображение шириной800px - более
900px— использовать изображение шириной1200px
- до
-
.responsive-img: класс CSS, который задает изображению ширину100%и автоматическую высоту, чтобы оно занимало доступное пространство и сохраняло пропорции
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ