<picture>
<source>
<source>
요소가 <picture>
요소 내부에서 사용될 때 반드시 srcset 속성이 명시되어야 한다.※ 이미지 포맷
- .jpg / .png: 모든 브라우저에서 지원하는 폴백 이미지
- .webp: jpg/png 대비 30~70% 용량. (IE 미지원)
- .avif: 저용량 + 고품질. (크롬 지원)
구형 브라우저 폴백 이미지로 제공하는 것외에 굳이jpg
를 사용할 필요가 없다.
이미지 용량을 절감하면 빠른 로딩속도로 사용자경험(UX)을 높이고 이미지 전송비용을 절약할수 있다.
<picture>
<!-- if (avif 포맷을 지원하면) -->
<source srcset="x.avif" type="image/avif">
<!-- else if (webp 포맷을 지원하면) -->
<source srcset="x.webp" type="image/webp">
<!-- else -->
<img src="x.jpg" alt="">
</picture>
<picture>
<!-- if (사용자의 해상도가 960px 이하일때) -->
<source srcset="small.webp" media="(max-width: 960px)">
<!-- else -->
<img src="large.webp" alt="">
</picture>
img
에도 적용 가능<picture>
<source srcset="2x.webp 2x, 1x.webp" type="image/webp">
<img srcset="2x.jpg 2x" src="1x.jpg" alt="">
</picture>
레티나 디스플레이 (고 해상력)
- 일반적인 이미지보다 두 배 더 큰 이미지를 제공해서 강제로 작게 사이즈를 줄여 화면을 출력하면 더 선명하게 보이는 방법