CSS3 Адаптивный веб дизайн - Изображение
Измените размер окна браузера, чтобы увидеть, как изображение масштабируется по размеру страницы.
Использование свойства width
Если свойство width установлено значение 100 процентов, изображение будет
отзывчивым и масштабироваться вверх и вниз:
Обратите внимание, что в приведенном выше примере, изображение можно масштабировать до большого
чем первоначальный размер. Лучшим решением во многих случаях будет, использовать свойство
max-width.
Использование свойства max-width
Если свойство max-width имеет значение 100 процентов, изображение будет уменьшено, если необходимо,
но никогда не масштабируйте больше чем свой первоначальный размер:
Добавление изображения пример веб страницы
Фоновые изображения
Фоновые изображения также могут реагировать на изменение размера и масштабирования.
Здесь мы покажем три различных метода:
1. Если свойство background-size имеет значение "contain", то
фоновое изображение будет масштабироваться и пытаться соответствовать области содержимого.
Однако изображение сохранит пропорции (пропорциональные отношения между шириной и высотой изображения):
Код CSS:
Пример
div {
width: 100%;
height: 400px;
background-image: url('img_flowers.jpg');
background-repeat: no-repeat;
background-size: contain;
border: 1px solid red;
}
Редактор кода »
2. Если свойство background-size имеет значение 100% 100%,
фоновое изображение растянется на всю область содержимого:
Вот код CSS:
Пример
div {
width: 100%;
height: 400px;
background-image: url('img_flowers.jpg');
background-size: 100% 100%;
border: 1px solid red;
}
Редактор кода »
3. Если свойство background-size имеет значение "cover", фоновое изображение будет масштабироваться
чтобы охватить всю область содержимого. Заметьте что значение "cover" сохраняет аспект
соотношение, и некоторая часть фонового изображения может быть обрезана:
Код CSS:
Пример
div {
width: 100%;
height: 400px;
background-image: url('img_flowers.jpg');
background-size: cover;
border: 1px solid red;
}
Редактор кода »
Изображения для различных устройств
Большое изображение может быть идеальным и на большом компьютере экрана, но бесполезный на маленьком устройстве. Зачем загружать большие изображения, если тебе все равно нужно уменьшить масштаб? Для уменьшения нагрузки или по другим причинам можно использовать медиа запросы для отображения различных изображений на разных устройствах.
Здесь есть одно большое изображение и изображение, которое будет отображаться на различных устройствах:


Пример
/* Для ширины меньше 400px: */
body {
background-image:
url('img_smallflower.jpg');
}
/* Для ширины 400px и больше: */
@media only screen and (min-width: 400px) {
body {
background-image: url('img_flowers.jpg');
}
}
Редактор кода »
Можно использовать медиа запрос min-device-width,
вместо min-width, который проверяет ширину устройства,
а не ширину браузера. Тогда изображение не изменится при изменении размера окна браузера:
Пример
/* Для устройств меньше 400px: */
body {
background-image: url('img_smallflower.jpg');
}
/* Для устройств 400px и больше: */
@media only screen and (min-device-width: 400px) {
body {
background-image: url('img_flowers.jpg');
}
}
Редактор кода »
HTML5 Элемент <picture>
HTML5 предлагает элемент <picture> элемент, который позволяет определить более одного изображение.
Поддержка браузеров
| Элемент | |||||
|---|---|---|---|---|---|
| <picture> | 13 | 38.0 | 38.0 | 9.1 | 25.0 |
Элемент <picture> работает аналогично с элементами <video> и
<audio>. Вы настраиваете различные источники и первый источник, который соответствует
предпочтению и используется один:
Пример
<picture>
<source srcset="img_smallflower.jpg" media="(max-width: 400px)">
<source srcset="img_flowers.jpg">
<img src="img_flowers.jpg" alt="Цветы">
</picture>
Редактор кода »
Атрибут srcset является обязательным и определяет источник изображения.
Атрибут media является необязательным и принимает медиа запросы, которые вы найдете в
CSS @media правило.
Необходимо также определить элемент <img> для браузеров, которые не поддерживают
элемент <picture>.
