Как изменять размер изображения 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">

Адаптивная ширина изображения
Обычно не требуется задавать конкретную ширину изображения. Если указать фиксированную ширину, она может оказаться слишком маленькой для экранов устройств некоторых пользователей и слишком большой для других. Лучше всего поместить изображение внутрь адаптивного контейнера (определяемого в процентах), а затем задать для него заполнение по всей ширине:
#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 правильно – определяйте исходную высоту изображения, а не указывайте размер, в котором оно должно отображаться на странице.
Поддержка браузерами
IE | Firefox | Chrome | Edge | Safari | Opera |
Полностью | Полностью | Полностью | Полностью | Полностью | Полностью |