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

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

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

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

실무에서는 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이 안전.

댓글 작성

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

로그인하기

게시글 목록

번호 제목
1296
1295
1294
1293
1292
1291
1290
1289
jQuery Mobile navigate 이벤트
1288
1287
jQuery Mobile hashchange event
1286
1285
1284
1283
1282
1281
1280
1279
1278
1277
1276
1275
1274
1273
1272
1271
1270
1269
1268
1267