HTML, CSS

실제 UI를 따라 만들며 배우는 CSS 구조 복습

jonbeo 2025. 7. 1. 10:26
반응형

 

 

 

이제까지 배운 position, flex, z-index, 반응형 레이아웃 등을 한꺼번에 실전에서 적용해볼 시간입니다.
이번 포스팅에서는 간단한 카드형 UI를 하나 따라 만들어보며,
CSS 구조를 어떻게 잡는지, 어떤 순서로 스타일링하는지 복습해보겠습니다.


 

✅ 목표 UI 구성

이번에 만들 UI는 아래와 같은 구조입니다:

  • 카드 컨테이너
  • 카드 안에는 썸네일 이미지, 제목, 설명, 버튼이 포함됨

 

✅ HTML 구조 먼저 만들기

<div class="card">
  <img src="thumbnail.jpg" alt="썸네일 이미지" class="card-img">
  <div class="card-content">
    <h2 class="card-title">제목입니다</h2>
    <p class="card-desc">설명 텍스트가 들어갑니다.</p>
    <button class="card-btn">자세히 보기</button>
  </div>
</div>

 


 

✅ CSS로 스타일 입히기

 
.card {
  width: 300px;
  border: 1px solid #ddd;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  background: #fff;
  transition: transform 0.3s ease;
}

.card:hover {
  transform: translateY(-5px);
}

.card-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.card-content {
  padding: 16px;
}

.card-title {
  font-size: 18px;
  margin-bottom: 8px;
}

.card-desc {
  font-size: 14px;
  color: #555;
  margin-bottom: 12px;
}

.card-btn {
  padding: 8px 16px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

 


 

✅ 실전 팁

  • .card 요소에 transition을 넣으면 사용자에게 더 부드러운 경험을 줄 수 있습니다.
  • object-fit: cover는 이미지의 비율을 유지하면서 박스를 꽉 채우는 데 매우 유용합니다.
  • 여백과 배경색, 그림자 등을 적절히 조합하면 간단한 구조도 깔끔하게 표현됩니다.

 

✅ 반응형 처리 예시

화면이 작아지면 카드의 너비를 조정해보겠습니다.

 
@media (max-width: 480px) {
  .card {
    width: 100%;
  }
}

 


 

✅ 마무리 요약

항목 설명
핵심 레이아웃 썸네일 + 제목 + 설명 + 버튼 구조
주요 속성 box-shadow, border-radius, object-fit
사용자 경험 hover 애니메이션, 버튼 스타일
반응형 처리 미디어쿼리로 카드 너비 조절

 

반응형