이미지가 반응형으로 크기가 줄어들 때 가로세로 비율이 깨지는 경우가 많습니다.
특히 배너, 카드 썸네일, 유튜브 영상 임베드에서 자주 발생.
실무에서는 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이 안전.
특히 배너, 카드 썸네일, 유튜브 영상 임베드에서 자주 발생.
실무에서는 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이 안전.
게시글 목록
| 번호 | 제목 |
|---|---|
| 1451 |
부트스트랩
Disabled Item
|
| 1450 |
부트스트랩
활성 상태
|
| 1449 |
부트스트랩
링크 된 항목으로 그룹 나열
|
| 1448 |
부트스트랩
부트 스트랩 배지가있는 목록 그룹
|
| 1447 |
부트스트랩
부트 스트랩 목록 그룹
|
| 1446 |
부트스트랩
Bootstrap Pager 버튼 맞춤
1
|
| 1445 |
부트스트랩
Bootstrap Pager
|
| 1444 |
부트스트랩
Breadcrumbs
|
| 1443 |
부트스트랩
Pagination Sizing
|
| 1442 |
부트스트랩
부트스트랩 Disabled State
|
| 1441 |
부트스트랩
부트스트랩 활성 상태
|
| 1440 |
부트스트랩
부트 스트랩 페이지 매김
|
| 1438 |
부트스트랩
스택 된 진행률 표시 줄
|
| 1437 |
부트스트랩
애니메이션 진행률 표시 줄
|
| 1436 |
부트스트랩
스트라이프 진행 표시 줄
|
| 1435 |
부트스트랩
컬러 진행 바
|
| 1434 |
부트스트랩
레이블이있는 진행 표시 줄
|
| 1433 |
부트스트랩
부트 스트랩 진행률 표시 줄
|
| 1432 |
부트스트랩
레이블
|
| 1431 |
부트스트랩
부트 스트랩 배지 및 라벨
|
| 1430 |
부트스트랩
부트 스트랩 글리펀콜
|
| 1429 |
부트스트랩
분할 단추 드롭 다운
|
| 1428 |
부트스트랩
중첩 단추 그룹 및 드롭 다운 메뉴
|
| 1427 |
부트스트랩
양쪽 맞춤 버튼 그룹
|
| 1426 |
부트스트랩
세로 단추 그룹
|
| 1425 |
부트스트랩
버튼 그룹
|
| 1424 |
부트스트랩
활성 / 비활성 버튼
|
| 1421 |
부트스트랩
블록 레벨 버튼
|
| 1420 |
부트스트랩
단추 크기
1
|
| 1419 |
부트스트랩
부트 스트랩 버튼
1
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기