css 정렬 질문 입니다.

css 정렬 질문 입니다.

QA

css 정렬 질문 입니다.

답변 3

본문

아래 형태의 레이아웃으로 display 시킬려면 css 어떻게 해야 될까요?

 

32936023_1740459417.333.png

이 질문에 댓글 쓰기 :

답변 3

아래는 제시하신 이미지에 따른,

상단에 "자물통 모음" 상품을 배치하고,

그 아래에 2~3열 형태로 상품 카드들을 정렬하여

이미지를 비롯한 상품 정보를 표시한 뒤,

맨 아래에 "제품 더보기" 버튼을 두는 HTML과 CSS 코드 예시입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>자물통 레이아웃 예시</title>
  <style>
    /* 전체 컨테이너 설정 */
    .container {
      display: grid;
      grid-template-columns: 1fr; /* 기본적으로 한 열 */
      gap: 16px;                 /* 요소 간 간격 */
      max-width: 400px;         /* 컨테이너 최대 너비 */
      margin: 0 auto;           /* 중앙 정렬 */
    }
    /* 첫 번째 아이템(상단 배너) 설정 */
    .item:first-child {
      grid-column: span 2; /* 두 칸 차지(실제 1열 구조에서도 전체를 차지) */
      text-align: center;
    }
    /* 상품 목록을 담는 영역 */
    .products {
      display: grid;
      /* 화면 크기에 따라 열이 자동으로 늘어남 (2열 ~ 3열) */
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 12px;
    }
    /* 개별 상품 카드 스타일 */
    .product-card {
      background: #fff;
      padding: 12px;
      border-radius: 8px;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
      text-align: center;
    }
    /* 상품 카드 내 이미지 스타일 */
    .product-card img {
      width: 100%;
      height: auto;
      border-radius: 5px;
    }
    /* '제품 더보기' 버튼 스타일 */
    .more-button {
      display: block;
      text-align: center;
      padding: 10px;
      background: #f5f5f5;
      border-radius: 5px;
      margin-top: 10px;
      text-decoration: none; /* 링크 밑줄 제거 */
      color: #333;
    }
  </style>
</head>
<body>
<div class="container">
  <!-- 상단 대표 영역(배너) -->
  <div class="item">
    <img src="lock.jpg" alt="자물통 모음" />
    <h3>자물통 모음</h3>
  </div>
  
  <!-- 상품 리스트 영역 -->
  <div class="products">
    <!-- 상품 카드 1 -->
    <div class="product-card">
      <img src="lock1.jpg" alt="PC-50" />
      <p>PC-50 메가 썬클래식 50A</p>
      <p>[도매가격 (VAT 포함)]</p>
    </div>
    <!-- 상품 카드 2 -->
    <div class="product-card">
      <img src="lock2.jpg" alt="덕원 DA50" />
      <p>덕원 DA50 다이얼 자물쇠</p>
      <p>[도매가격 (VAT 포함)]</p>
    </div>
    <!-- 상품 카드 3 -->
    <div class="product-card">
      <img src="lock3.jpg" alt="협신자기" />
      <p>협신자기(대)</p>
      <p>[도매가격 (VAT 포함)]</p>
    </div>
  </div>
  
  <!-- 추가 상품 확인 버튼 -->
  <a href="#" class="more-button">제품 더보기 →</a>
</div>
</body>
</html>

다음 코드가 도움이 될지 모르겠습니다.

 


<style>
:root {
    --wrap-height: 30em;
    --wrap-el-gap: 0.2em;
}
* {
    box-sizing: border-box;
}

.wrap {
    background-color: #ededed;
    height: var(--wrap-height);
    display: inline-flex;
    flex-flow: column wrap;
    gap: var(--wrap-el-gap);
}
.wrap .el {
    border: 1px solid #ccc;
    width: 10em;
}
.wrap .el.sz-1 { height: calc(var(--wrap-height) * 0.1); }
.wrap .el.sz-2 { height: calc(var(--wrap-height) * 0.2); }
.wrap .el.sz-3 { height: calc(var(--wrap-height) * 0.3); }
.wrap .el.sz-half { height: calc(var(--wrap-height) * 0.5 - calc(var(--wrap-el-gap) * 0.5)); }
</style>
 
<div class="wrap">
    <div class="el sz-1">1</div>
    <div class="el sz-2">2</div>
    <div class="el sz-3">3</div>
    <div class="el sz-half">4</div>
    <div class="el sz-half">5</div>
    <div class="el sz-3">6</div>
    <div class="el sz-3">7</div>
    <div class="el sz-2">8</div>
    <div class="el sz-1">9</div>
    <div class="el sz-1">10</div>
    <div class="el sz-2">11</div>
    <div class="el sz-1">12</div>
    <div class="el sz-2">13</div>
</div>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 108
© SIRSOFT
현재 페이지 제일 처음으로