<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로 자유롭게 코드를 연습하세요. 전체 화면 코드 작성 및 코드 다운로드가 가능합니다.