HTML <source>: 미디어 소스 요소
HTML <source>
요소는 <picture>
, <audio>
, <video>
요소에 다수의 미디어 리소스를 지정할 때 사용합니다. 주로 같은 미디어 콘텐츠를 다양한 파일 형식으로 제공해서, 브라우저마다 다른 미디어 지원 범위에 대응하기 위해 사용합니다.
<video controls width="125">
<source src="/assets/chestnut.webm" type="video/webm" />
<source src="/assets/chestnut.mp4" type="video/mp4" />
죄송합니다. 브라우저가 비디오를 지원하지 않습니다.
</video>
불러오는 중...
특성
전역 특성을 포함합니다.
media
리소스에 대한 미디어 쿼리입니다.
sizes
소스 이미지의 크기를 나타냅니다. 미디어 조건과 크기 값의 쌍의 목록으로, 쉼표로 구분합니다. 브라우저는 페이지 레이아웃 결정 전에 이 특성의 값을 사용해서
srcset
에 정의된 이미지 중 어느 것을 사용할지 결정합니다.sizes
는srcset
에 너비 서술자를 제공한 경우에만 영향을 주며, 픽셀 밀도 서술자에는 동작하지 않는 점을 주의해야 합니다.sizes
특성은<source>
요소가<picture>
의 자식 요소일 때만 효과가 있습니다.src
미디어를 가리키는 URL입니다.
<source>
가<audio>
와<video>
의 자식 요소일 때만 사용하며,<picture>
의 자식 요소인 경우에는 무시합니다.srcset
사용자 에이전트가 사용할 수 있는 이미지 소스의 후보를 지정합니다. 한 개 이상의 항목을 가지는 쉼표 구분 목록으로, 각각의 항목은 다음 구성 요소로 이루어집니다.
-
이미지의 URL.
-
공백과 그 뒤를 잇는
- 너비 서술자(양의 정수와 바로 뒤의
w
문자). 너비 서술자의 값을sizes
특성에 지정한 소스 크기로 나눠서 픽셀 밀도를 구합니다. - 픽셀 밀도 서술자(양의 실수와 바로 뒤의
x
문자).
서술자를 포함하지 않은 경우 기본 값인
1x
로 간주합니다.srcset
특성에 너비와 픽셀 밀도 서술자를 동시에 사용하거나, 동일한 서술자를 두 번 이상 사용하는 건 유효하지 않습니다.사용자 에이전트는 사용자의 개인 설정 또는 네트워크 대역폭 등 여러가지 조건에 따라 사용 가능한 소스 중 하나를 선택합니다.
srcset
특성은<source>
요소가<picture>
의 자식 요소일 때만 효과가 있습니다.-
type
리소스의 MIME 유형입니다.
codecs
매개변수도 포함할 수 있습니다.특성을 따로 지정하지 않은 경우, 사용자 에이전트는 미디어를 서버에서 불러온 후에 자신이 렌더링할 수 있는 파일 형식인지 확인하고, 렌더링 불가능한 형식이면 다음
<source>
요소를 확인합니다. 반면, 지정한 경우에는 이 값을 처리 가능한 형식의 목록과 대조합니다. 만약 알 수 없는 형식인 경우 아예 서버로 요청을 전송하지 않고 즉시 다음<source>
요소를 확인합니다.<picture>
요소의 자식으로 사용한<source>
가 모두 처리 불가능한 이미지 형식인 경우<picture>
안에 배치한<img>
를 대신 보여줍니다.
예제
<audio>
예제와 <video>
예제를 참고하세요.
명세
브라우저 호환성
데스크톱 | 모바일 | ||||||
---|---|---|---|---|---|---|---|
iOS | Android | ||||||
Safari | Chrome | Firefox | Safari | Chrome | Firefox | Samsung Internet | |
source | |||||||
height | |||||||
media | |||||||
sizes | |||||||
src | |||||||
srcset | |||||||
type | |||||||
width |