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

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

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

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

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
1326
1325
1324
1323
1322
1321
1320
1319
1318
1317
1316
1315
1314
1313
1312
1311
1310
1309
1308
1307
1306
1305
1304
1303
jQuery Mobile pageshow 이벤트
1302
1301
1300
jQuery Mobile pageload 이벤트
1299
jQuery Mobile pageinit 이벤트
1298
jQuery Mobile pagehide 이벤트
1297
jQuery Mobile pagecreate