<source>의 [srcset] 필수 <source srcset="값">
사용할 이미지 파일과 해상도(또는 크기)를 지정합니다.
여러 개의 이미지를 쉼표(,)로 구분하여 제공할 수 있습니다.
- 사용 방법 :
- 이미지URL [해상도]w : 다른 해상도의 이미지 지정
- 이미지URL [배율]x : 디스플레이 배율(레티나)에 따른 이미지 지정
내장 콘텐츠(Embedded content) 요약 설명
- 내장 콘텐츠란 HTML 문서 안에 외부 소스로부터 가져온 다른 유형의 콘텐츠를 포함하는 요소를 말합니다. 주로 이미지, 오디오, 비디오, 그래픽 등을 웹 페이지에 삽입하는 데 사용됩니다.
- 대표적인 내장 콘텐츠 요소로는
<img>
,<audio>
,<video>
,<iframe>
등이 있습니다.- 내장 콘텐츠를 통해 웹 페이지는 다양한 종류의 멀티미디어 콘텐츠를 표현하고 더욱 풍부한 사용자 경험을 제공할 수 있습니다.
요약 설명
<picture>
요소는 웹 페이지에서 상황에 따라 다른 이미지 소스를 선택적으로 표시할 수 있도록 하는 시맨틱 태그로, 반응형 이미지나 포맷별 대체 이미지 제공에 사용됩니다.
내부에<source>
요소를 여러 개 포함하여 화면 크기, 해상도, 이미지 형식(webp, jpg 등)에 따라 적절한 이미지를 브라우저가 자동으로 선택하게 할 수 있으며,
마지막에는 기본 이미지로<img>
요소를 포함하여, 브라우저가<source>
조건과 일치하는 이미지를 찾지 못했을 때를 대비하거나, HTML 문서가<picture>
를 지원하지 않는 경우에도 이미지가 표시되도록 해야 합니다.
이를 통해, 성능 최적화와 다양한 디바이스 대응을 동시에 할 수 있습니다.
<picture>
요소를 사용하면 브라우저가 지원하는 최적의 이미지 포맷을 자동으로 선택할 수 있습니다.
CSS의 media query
와 유사한 media
속성을 사용하여 화면 크기에 따라 다른 이미지를 제공합니다.
<picture>
요소 내의 <img>
태그는 필수 요소이며,
브라우저가 <picture>
요소를 지원하지 않더라도 기본적으로 표시됩니다.
<picture>
요소는 기본적으로 인라인 레벨 요소입니다.
<picture>
요소는 내부에 <img>
와 <source>
를 함께 사용할 때 의미가 있으며,
단순히 <img>
요소만 포함하는 것은 잘못된 방식은 아니지만 불필요한 태그 사용이 될 수 있습니다.
<source>
요소들의 속성을 순서대로 확인하며, 첫 번째로 조건을 만족하는 요소를 사용 하고 이후 요소들은 무시합니다.<img>
요소는 <picture>
요소 내에서 가장 마지막에 위치 해야 합니다.<source>
요소가 조건을 만족하지 못하면 마지막에 위치한 <img>
요소가 대신 표시됩니다.<picture>
요소를 지원하지 않는 브라우저에서는 하위 호환성을 위해 <img>
요소가 사용됩니다.<picture>
에서 사용하는
<source>
요소의 속성)
중요합니다!
<picture>
요소 자체에는 특별한 속성이 없으며,
내부의 <source>
요소가 주요 속성을 가집니다.
사용할 이미지 파일과 해상도(또는 크기)를 지정합니다.
여러 개의 이미지를 쉼표(,)로 구분하여 제공할 수 있습니다.
미디어 쿼리를 사용하여 특정 화면 크기에 맞는 이미지를 선택할 수 있습니다.
일반적으로 min-width
, max-width
등의 CSS 미디어 쿼리를 활용하며,
media
속성을 사용할 때는
srcset
또는 src
를 통해 최소한 하나의 이미지를 지정해야 합니다.
이미지 파일의 MIME 유형을 지정하여 브라우저가 지원하는 포맷을 로드하도록 합니다.
image/webp
: 고효율 이미지 포맷 (WebP)image/avif
: 최신 고압축 이미지 포맷 (AVIF)image/jpeg
, image/png
, image/svg+xml
등image.webp
를 사용하고,image.jpg
)를 사용합니다.
화면 크기에 따라 large.jpg
, medium.jpg
, small.jpg
중 적절한 이미지를 로드합니다.
모든 조건을 충족하지 못하면 small.jpg
가 기본값으로 표시됩니다.
브라우저가 WebP 형식을 지원하면 image.webp
를 사용하고, 그렇지 않으면 image.jpg
를 표시합니다.
2x
, 3x
설정을 통해 고해상도(Retina) 디스플레이에 적합한 이미지를 제공합니다.
<picture>
요소를 지원하지 않는 브라우저나
모든 <source>
조건이 충족되지 않는 경우를 대비해야 합니다.<img>
태그 없이 <source>
요소만 사용할 경우 이미지가 표시되지 않을 수 있습니다.
<picture>
내부에는 반드시 <img>
요소를 포함해야 하며, 기본 이미지로 사용됩니다.
<picture>
요소는 주로 페이지 로드 시 적절한 이미지를 선택하는 용도이므로,
자바스크립트로 동적으로 변경할 필요가 있는 이미지에는 적합하지 않습니다.
<source>
요소의 순서에 따라 결정됩니다.<picture>
요소를 사용하는 의미가 퇴색되지 않도록 하는 것이 좋습니다.
UXKM Editor로 자유롭게 코드를 연습하세요. 전체 화면 코드 작성 및 코드 다운로드가 가능합니다.