адаптивных изображений | Проект Один

Введение

Изображения требуют особого внимания на адаптивных веб-сайтах. В этом уроке будут представлены некоторые проблемы, возникающие при работе с адаптивными изображениями, и варианты, которые у вас есть при работе с ними.

Результаты обучения

  • Вы узнаете, как заставить изображения работать правильно при изменении их размера с помощью CSS.
  • Вы узнаете, как отображать разные изображения в зависимости от размера экрана.

Основы

Самая основная проблема, с которой вы столкнетесь при работе с адаптивными изображениями, — это соотношение сторон или соотношение между шириной и высотой. Если вы уменьшите ширину изображения на небольших экранах, а также не измените высоту, изображение будет искажено!

Решение этой проблемы невероятно простое, и мы уже упоминали его в предыдущем уроке: просто не определяйте одновременно ширину и высоту. Если изображению задана гибкая ширина, а высота установлена ​​на auto , тогда он должен правильно сохранить соотношение сторон.

background-size, background-position и object-fit

Что делать, если вы не хотите, чтобы ваше изображение просто уменьшалось (как по высоте, так и по ширине)? background-size и object-fit — это два свойства, которые могут обеспечить немного большую гибкость (каламбур) при обработке соотношения сторон.

background-position и background-size — это свойства, которые работают с элементами с фоновым изображением и не работают с обычными img теги. Позже вы увидите некоторые примеры и особенности в задании на чтение, но вы можете получить достаточно большой контроль над отображением и размещением фоновых изображений, работая с этими свойствами. Например,

background-position: center гарантирует, что изображение всегда центрируется в своем контейнере, даже если контейнер слишком мал для размещения всего изображения. background-size: обложка изменит размер изображения так, чтобы оно всегда полностью заполняло свой контейнер, обрезая его как можно меньше.

Вот небольшая демонстрация, с которой вы можете поиграть:

См. перо фон | Отзывчивость CSS от TheOdinProject (@TheOdinProjectExamples) на КодПене.

object-fit работает аналогично, но предназначен для тегов img . С помощью свойства object-fit вы можете указать ширину и высоту для ваших изображений, а затем указать изображению, как оно должно соответствовать этим размерам. Значение по умолчанию для объектного соответствия — это fill , который просто растягивает изображение, чтобы соответствовать размерам, но так же, как background-size , вы также можете сказать, что покрывает

или содержит изображение.

Вот демонстрация объектно-подгонки на изображении. Откройте это на CodePen и измените размер браузера, чтобы увидеть, как изображение реагирует.

См. перо подгонка объектов от TheOdinProject (@TheOdinProjectExamples) на КодПене.

Еще больше контроля!

Также можно буквально использовать различных изображения

для разных размеров экрана. Это дает вам максимальный контроль над тем, как именно ваши изображения отображаются при различных разрешениях. Например, вместо того, чтобы просто доверять объектно-подгонке , чтобы удерживать объект фотографии в кадре, вы можете представить его обрезанную версию на небольших экранах. Есть два способа добиться этого, но наиболее гибким является использование тега , который вы увидите в задании на чтение.

Назначение

  1. Сначала ознакомьтесь с документацией по параметрам background-size, background-position и object-fit. Демонстрации на этих страницах должны прояснить их использование.
Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *