
min-width:100%: 이미지의 최소 너비를 부모의 너비로 설정
부모의 너비가 커지면 이미지도 같이 커짐
이미지가 커지거나 작아질 때는 높이도 같이 변함
vh100(부트스트랩에서)
높이를 정의해서 위 아래의 중심을 찾을 수 있게 만들어 줌

<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<title>Hello, world!</title>
</head>
<body style="background-image: url(bg-img.jpg); background-repeat: no-repeat; background-size: cover;">
<section class="container">
<div class="vh-100 d-flex justify-content-center align-items-center">
<div class="card mb-3 bg-light bg-opacity-75" style="max-width: 540px;">
<div class="row g-0 p-2 align-items-center justify-content-center">
<div class="col-6 col-sm-4">
<img src="프로필.jpg" class="img-fluid rounded-circle p-4 p-sm-3" alt="...">
</div>
<div class="col-sm-8">
<div class="card-body text-center text-sm-start">
<p class="mb-2">디지털 아티스트</p>
<h1 class="card-title">에릭 킴에밀리아</h1>
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
<a href="#" class="btn btn-dark rounded-pill"><i class="bi bi-house"></i></a>
<a href="#" class="btn btn-danger rounded-pill"><i class="bi bi-youtube"></i></a>
<a href="#" class="btn btn-primary rounded-pill"><i class="bi bi-facebook"></i></a>
<a href="#" class="btn btn-warning rounded-pill"><i class="bi bi-instagram"></i></a>
</div>
</div>
</div>
</div>
</div>
</section>
</body>
</html>

<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<title>Hello, world!</title>
</head>
<body class="bg-warning">
<section class="container text-white">
<div class="row vh-100 justify-content-center align-items-center">
<div class="col-md-6 col-xl-5">
<img src="profile.jpg" alt="프로필 사진" class="img-fluid">
</div>
<div class="col-md-6 col-xl-5">
<h1 class="fw-bold text-info">코드덤</h1>
<p class="text-muted">프리랜서 디자이너</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. O</p>
<p>
Lorem ipsum, dolor sit amet consectetur adipisicing elit. accusamus
molestiae? Voluptates, eos unde?
</p>
<p class="text-muted">email condethem@naver.com</p>
<a href="#" class="btn btn-outline-info mt-3 rounded-pill">프로필보기</a>
</div>
</div>
</section>
</div>
</body>
</html>
https://getbootstrap.kr/docs/5.3/examples/album/
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<title>Hello, world!</title>
</head>
<body>
<header>
<div class="collapse" id="navbarToggleExternalContent">
<div class="bg-dark p-4">
<h5 class="text-white h4">Collapsed content</h5>
<span class="text-muted">Toggleable via the navbar brand.</span>
</div>
</div>
<nav class="navbar navbar-dark bg-dark">
<div class="container-fluid">
<div class="container d-flex justify-content-between">
<a href="#" class="navbar-brand d-flex align-items-center">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor"
stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true"
class="me-2" viewBox="0 0 24 24">
<path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z">
</path>
<circle cx="12" cy="13" r="4"></circle>
</svg>
<strong>Album</strong>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</div>
</nav>
</header>
<main>
<section class="container py-5 text-center">
<div class="col-lg-6 py-lg-5 mx-auto">
<h1 class="fw-light">Album example</h1>
<p class="lead text-muted">Something short and leading about the collection below—its contents, the
creator, etc. Make it short and sweet, but not too short so folks don’t simply skip over it
entirely.</p>
<p>
<a href="#" class="btn btn-primary">Main call to action</a>
<a href="#" class="btn btn-secondary">Secondary action</a>
</p>
</div>
</section>
<section class="py-5 bg-light">
<div class="container">
<div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 g-3">
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
<div class="col">
<div class="card">
<svg style="text-anchor: middle;" class="bd-placeholder-img card-img-top" width="100%" height="225"
xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Thumbnail"
preserveAspectRatio="xMidYMid slice" focusable="false">
<title>Placeholder</title>
<rect width="100%" height="100%" fill="#55595c"></rect><text x="50%" y="50%"
fill="#eceeef" dy=".3em">Thumbnail</text>
</svg>
<div class="card-body">
<p class="card-text">natural lead-in to additional content. This content is a little bit
longer.</p>
<div class="d-flex justify-content-between">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">view</button>
<button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
</div>
<small>9 mins</small>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</main>
</body>
</html>