테스트 사이트 - 개발 중인 베타 버전입니다

이미지 비율 유지 반응형 처리

· 2개월 전 · 286
이미지가 반응형으로 크기가 줄어들 때 가로세로 비율이 깨지는 경우가 많습니다.

특히 배너, 카드 썸네일, 유튜브 영상 임베드에서 자주 발생.

실무에서는 aspect-ratio 속성 또는 padding trick을 활용합니다.

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>이미지 비율 유지</title>
<style>
.wrapper {
width: 90%;
max-width: 600px;
margin: 50px auto;
}

.img-box {
aspect-ratio: 16 / 9; /* 가로 : 세로 비율 */
overflow: hidden;
border-radius: 10px;
}

.img-box img {
width: 100%;
height: 100%;
object-fit: cover; /* 잘리더라도 꽉 채움 */
}
</style>
</head>
<body>

<div class="wrapper">
<div class="img-box">
<img src="https://picsum.photos/id/237/800/450" alt="샘플 이미지">
</div>
</div>

</body>
</html>

구형 브라우저 호환 방식 (Padding Trick)
.img-box {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 비율 (9 ÷ 16 × 100) */
}
.img-box img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}

배경 이미지로 쓸 때는 background-size: cover; background-position: center;로 처리.

썸네일 그리드에서는 이미지 태그보다 background-image가 유지관리 쉽다.

aspect-ratio는 크로스브라우징이 아직 100% 아니니, 레거시 프로젝트에선 padding trick이 안전.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
1236
jQuery Mobile taphold event
1235
jQuery Mobile tap event
1234
jQuery Mobile swiperight event
1233
jQuery Mobile swipeleft event
1232
jQuery Mobile swipe event
1231
jQuery Mobile scrollstop event
1230
jQuery Mobile scrollstart event
1229
jQuery Mobile pageshow event
1228
jQuery Mobile pageremove event
1227
1226
1225
1224
1223
1222
1221
1220
1219
1218
1217
1216
1215
1214
1213
1212
1211
1210
1209
1208
1207