Как изменять размер изображения CSS

Атрибут width HTML указывает исходную ширину изображения в пикселях.

Пример кода

<img src="https://www.internet-technologies.ru/wp-content/uploads/flamingo.jpg" width="640">

Управление шириной изображения

До появления CSS ширина изображения задавалась с помощью атрибута width. Такой метод на сегодняшний день является устаревшим. Но при отсутствии любых других правил CSS, определяющих ширину изображения, он все равно будет работать в большинстве браузеров. Тем не менее, это противоречит спецификации HTML5:

<!-- Это работает, но Вам не следует так делать. --> <img src="https://www.internet-technologies.ru/wp-content/uploads/very-large-flamingo.jpg" width="500">
Управление шириной изображения

Примечание: Оригинальное изображение гораздо шире, чем 500 пикселей.

Управление размером картинки в CSS

Для управления HTML max width изображения следует использовать CSS:

#fixed-width-flamingo {  width: 500px; }

<img src="https://www.internet-technologies.ru/wp-content/uploads/flamingo.jpg" id="fixed-width-flamingo">
Управление размером картинки в CSS

Адаптивная ширина изображения

Обычно не требуется задавать конкретную ширину изображения. Если указать фиксированную ширину, она может оказаться слишком маленькой для экранов устройств некоторых пользователей и слишком большой для других. Лучше всего поместить изображение внутрь адаптивного контейнера (определяемого в процентах), а затем задать для него заполнение по всей ширине:

#responsive-image {  width: 100%;  height: auto; } 

<img src="https://www.internet-technologies.ru/wp-content/uploads/very-large-flamingo.jpg" id="responsive-image">
Адаптивная ширина изображения

Если нужно предоставить для всех пользователей полностью адаптивный дизайн, примените атрибут srcset, чтобы указать дополнительные размеры изображения. Или элемент <picture>, чтобы задать альтернативный дизайн изображения.

Информирование браузера - основная цель атрибута width

В соответствии со спецификацией, основная цель тега width в HTML- сообщить браузеру фактическую, исходную ширину (в пикселях) изображения. Он должен применяться для описания исходного файла, а не того, как нужно отображать его на экране. Эта информация может быть использована браузером для оптимизации рендеринга. Тогда именно CSS, а не элемент width будет определять фактический размер выводимого изображения:

#responsive-flamingo {  width: 100%;  height: auto; } 

<img src="https://www.internet-technologies.ru/wp-content/uploads/very-large-flamingo.jpg" id="responsive-flamingo" width="1280">

Примечание: На большинстве экранов изображение будет выходить за пределы контейнера, если оно имеет ширину более 1280 пикселей.

Должен ли я использовать width?

Это поможет браузерам быстрее и более аккуратно отображать страницы, особенно в сочетании с элементом height. Рассмотрим приведенный выше пример.

В CSS width HTML устанавливается на 100%, а высота - на auto. Браузер не сможет узнать, сколько пикселей по высоте выделить для рисунка, пока не загрузит все изображение полностью и не проверит заголовок файла, чтобы узнать его размер. Если атрибуты width и height отсутствуют, программа не сможет этого сделать. Но если оба атрибута указаны, браузер сможет вычислить это с помощью математических расчетов:

display_height = img_height × ( display_width ÷ img_width )

Сделав это, можно предотвратить ситуацию, когда при загрузке изображения оно сдвигает контент вниз и происходит раздражающий резкий скачок, в результате которого пользователь теряет из виду часть текста. Используйте атрибуты HTML width height правильно – определяйте исходную высоту изображения, а не указывайте размер, в котором оно должно отображаться на странице.

Поддержка браузерами

IEFirefoxChromeEdgeSafariOpera
ПолностьюПолностьюПолностьюПолностьюПолностьюПолностью

АРАлина Рыбакавтор