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

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

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

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

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
1266
1265
1264
1263
1262
1261
1260
1259
1258
1257
1256
jQuery Mobile Button Refresh()
1255
1254
1253
1252
1251
1250
1249
1248
jQuery Mobile Button Widget 1
1247
jQuery Mobile Checkbox 속성
1246
jQuery Mobile Button 속성
1245
jQuery Mobile vmouseup event
1244
jQuery Mobile vmouseover event
1243
jQuery Mobile vmouseout event
1242
jQuery Mobile vmousemove event
1241
jQuery Mobile vmousedown event
1240
jQuery Mobile vmousecancel event
1239
jQuery Mobile vclick event
1238
jQuery Mobile updatelayout event
1237