aspect-ratio
속성의 이해
aspect-ratio
속성은
요소 박스의 가로 세로 비율( 가로 / 세로 )을 설정합니다.
형식 구문
구문
형식 정의
초깃값 | auto |
---|---|
적용 요소 | 인라인 박스와 <ruby> 또는 테이블 박스를 제외한 모든 요소 |
퍼센트(%) 값 | 적용 안 됨 |
상속 | 아니오 |
애니메이션 | auto 를 제외한 계산된 값 유형 |
값
auto |
이미지나 비디오 등의 대체 요소는 해당 가로 세로 비율을 사용합니다.
그 밖의 요소에서는 가로 세로 비율이 없습니다. |
---|---|
<ratio> |
가로(숫자)/세로(숫자): 가로 대비 세로의 비율입니다.
슬래시( / )가 없을 경우 가로/세로 비율의 값(숫자)입니다.
퍼센트( % ) 값은 적용되지 않습니다. |
예제
aspect-ratio
속성에 대해 예제로 살펴보겠습니다.
기본 사용법
요소 박스
작동 안 됨 주의
aspect-ratio
속성이 작동하지 않는 경우가 있습니다.
height
값이auto
가 아닐 경우align-items: stretch;
를 적용 받는 요소일 경우- 퍼센트(
%
) 값을 사용할 경우
이러한 사례들을 살펴보겠습니다.
height
값이 auto
가 아닐 경우
height
값이 auto
가 아닐 경우에는 aspect-ratio
속성이 작동하지 않습니다.
요소 박스
align-items: stretch;
를 적용 받는 요소일 경우
align-items: stretch;
를 적용 받는 요소에는 aspect-ratio
속성이 작동하지 않습니다.
요소 박스 - 1
요소 박스 - 2
퍼센트(%
) 값을 사용할 경우
aspect-ratio
속성에 퍼센트(%
) 값 사용을 사용하는 경우에는 작동하지 않습니다.
<video>
요소에 사용 시 주의할 점
<video>
요소에서 재생되는 동영상 파일은 해당 파일에 대한 고유한 가로 세로 비율(종횡비)가 있습니다.
aspect-ratio
속성은 재생되는 동영상 파일에 적용되는 것이 아니라 <video>
요소 박스에 적용된다는 것을 위 예제를 통해 알 수 있습니다. 이럴 경우 빈 공간이 생길 수 있습니다. 이는 스타일의 큰 문제가 될 수 있습니다. <video>
요소에 aspect-ratio
속성을 사용할 경우 발생할 수 있는 스타일의 문제에는 object-fit
속성의 값을 cover
로 지정해서 해결할 수 있습니다.
아래는 object-fit: cover;
를 지정해서 스타일의 문제를 해결한 예제입니다.
기억하세요!
<video>
요소에 aspect-ratio
속성을 사용할 경우 object-fit: cover;
를 함께 사용하세요.
브라우저 호환성
속성 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
aspect-ratio
|
88 | 88 | 89 | 15 |
명세서
명세서 사양 | |
---|---|
aspect-ratio
|
CSS Box Sizing Module Level 4 #aspect-ratio |