CSS
[CSS] aspect-ratio : 요소의 비율 유지하기
hid1
2022. 6. 1. 23:58
목적
반응형 요소를 만들 때 이미지(요소)의 비율을 그대로 유지하려고 한다.
비율은 16:9로 가정하였다.
방법
1. padding-bottom (or padding-top)
2. aspect-ratio
1. padding-bottom (or padding-top)
.wrapper {
position: relative;
width: 100%;
height: 0;
overflow: hidden;
padding-bottom: 56.26%;
}
.content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
- height를 0, padding-bottom 값을 %로 지정하여 너비에 따라 보여질 높이의 비율을 정할 수 있다.
- 요소의 안의 컨텐츠는 원래 padding에 밀려 있는데 position: absolute으로 고정시킨다.
padding-bottom: 세로비율/가로비율 * 100
ex : 9/16*100 = 56.26
2. aspect-ratio
.wrapper {
width: 100%;
aspect-ratio: 16 / 9;
}
.content {
width: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
}
- aspect-ratio 속성을 이용하여 비율을 유지할 수 있다.
- 이미지의 경우 object-fit: cover; 를 이용하여 비율 유지
padding-bottom보다 aspect-ratio를 이용하면 의도를 더욱 명확하게 파악할 수 있다고 생각한다.
반응형