Что такое тег picture в HTML

Ответ

Тег <picture> позволяет загружать разные изображения в зависимости от условий (разрешение экрана, плотность пикселей и т.д.). Он оборачивает несколько <source> и один <img> как fallback.

Пример:

<picture>
  <source media="(min-width: 1200px)" srcset="large.jpg">
  <source media="(min-width: 768px)" srcset="medium.jpg">
  <img src="small.jpg" alt="Описание">
</picture>

Ключевые особенности:

  • Браузер выбирает первый подходящий <source>
  • Если ни один не подошел — загружается <img>
  • Поддерживает разные форматы (WebP/AVIF с fallback на JPEG/PNG)
  • Оптимизирует загрузку, особенно для респонсива

Ответ 18+ 🔞

Да ты посмотри, какой хитрый тег придумали, блядь! <picture> — это ж целый стратег в мире картинок, ёпта! Сидит такой, оценивает обстановку: «Ага, у чувака экран широкий — дай-ка я ему большую картинку впихну. О, а тут телефон — на, получай мелкую, не грузи лишнее».

Вот смотри, как эта мартышлюшка работает:

<picture>
  <source media="(min-width: 1200px)" srcset="large.jpg">
  <source media="(min-width: 768px)" srcset="medium.jpg">
  <img src="small.jpg" alt="Описание">
</picture>

Суть в чём, блядь? Браузер тупо сверху вниз чекает эти <source>. Нашёл первый, который по условиям media подходит — бац, и грузит его. Всё, дальше даже не смотрит, ленивая жопа!

А если ни один не зашёл? Ну, бывает, экран какой-нибудь ебучий, нестандартный. Тогда, как последнюю надежду, тянет обычный <img> в самом низу. Это типа безусловный fallback, хуй с горы.

И главный фокус-покус — в форматах! Можно умничать, сука: «О, браузер современный, поддерживает WebP? На, жри сжатую картинку! А ты, старый пердун Internet Explorer, получи свой JPEG и не пизди». Экономия трафика — овердохуища!

Короче, штука для ленивой, но хитрой оптимизации. Чтобы не грузить на мобилку здоровенную фотку в 4К, от которой у устройства волосы дыбом встанут. Умно, блядь. Умно.