>웹 프론트엔드 >CSS 튜토리얼 >HTML 및 CSS Flexbox를 사용하여 반응형 카드 레이아웃 구축

HTML 및 CSS Flexbox를 사용하여 반응형 카드 레이아웃 구축

Susan Sarandon
Susan Sarandon원래의
2024-12-31 06:29:13436검색

이전 기사에서는 구조화된 HTML의 중요성과 CSS Flexbox가 웹 레이아웃을 단순화하는 방법을 살펴봤습니다. 이 기사에서는 이러한 개념을 토대로 실용적인 반응형 카드 레이아웃을 만들어 냈습니다. 지금까지 배운 내용을 확고히 하는 동시에 웹 개발 실력도 한 단계 더 높일 수 있는 방법이라고 생각하세요.

웹 레이아웃을 구축할 때 카드 구성 요소는 제품 목록, 블로그 게시물 등 어디에나 있습니다. 잘 디자인된 카드는 기능적일 뿐만 아니라 시각적으로도 매력적이며, 반응형 디자인으로 인해 어떤 장치에서든 멋지게 보입니다. 이 기사에서는 시맨틱 HTML 및 CSS Flexbox를 사용하여 반응형 카드 레이아웃을 구축하는 방법을 단계별로 살펴보겠습니다.

우리가 만들 것

우리는 다음과 같은 반응형 카드 레이아웃을 만들 것입니다.

1. 큰 화면에 여러 장의 카드를 나란히 표시합니다.

2. 작은 화면에서는 카드를 수직으로 쌓습니다.

3. 접근성과 유지 관리를 위해 시맨틱 HTML을 사용합니다.

4. 정렬 및 간격에 대한 Flexbox를 보여줍니다.


1단계: HTML 작성

먼저 카드 구조를 만들어 보겠습니다. 콘텐츠가 의미 있고 접근 가능하도록 시맨틱 HTML을 활용하겠습니다.

<body>
 <section>



<h3>
  
  
  <em>Key Points</em>:
</h3>

  • Use section for the container, as it groups related content.
  • Each card is an article, signifying that it's a self-contained piece of content.
  • The img, header, and footer are semantically grouped to enhance readability and accessibility.

STEP 2: Add Basic Styles

Let's define some basic styles;

/* General Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }


  body {
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
    text-align: center;


  }
  .card-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    padding: 1rem;

  }
  .card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 300px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 1rem;
    background-color: #fff;
  }
  .card-image {
    width: 100%;
    border-radius: 8px;
  }
  .card-header h2 {
    font-size: 1.5rem;
    color: black;
    font-weight: bold;
  }
  .card-footer {
    display: flex;
    justify-content: space-between;
  }
  button {
    background-color: palevioletred;
    color: black;
    font-weight: bold;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }
  button:hover {
    background-color: plum;

  }

핵심 포인트:

  • .card-container는 화면 크기가 줄어들 때 카드를 쌓을 수 있도록 flex-wrap:wrap을 사용합니다.
  • 각 .card는 유연한 열 레이아웃과 적절한 요소 간 간격으로 스타일이 지정되었습니다.

3단계: 반응형으로 만들어 보겠습니다

이제 카드 레이아웃이 모든 화면 크기에서 잘 보이는지 확인할 차례입니다.

 @media (max-width: 768px) {
    .card-container {
      flex-direction: column;
      align-items: center;
    }
  }

핵심 포인트:

  • 768px보다 작은 화면의 경우 .card-container는 행 레이아웃에서 열 레이아웃으로 전환됩니다.
  • 이렇게 하면 카드가 수직으로 쌓이게 되어 모바일 기기에서 더 쉽게 읽을 수 있습니다.

최종 모습

  • 큰 화면에서: 카드는 카드 사이의 공간에 따라 나란히 정렬됩니다.?

Building Responsive Card Layouts with HTML and CSS Flexbox

  • 작은 화면에서는 깔끔한 레이아웃을 위해 카드가 서로 겹쳐집니다. ?

Building Responsive Card Layouts with HTML and CSS Flexbox


마무리

결론적으로 우리가 배운 내용은 다음과 같습니다.

  • 시맨틱 HTML: 깔끔하고, 접근 가능하며, 유지 관리 가능한 코드를 작성하세요.

  • Flexbox 기본 사항: Flexbox를 사용하여 요소를 쉽게 정렬하고 간격을 두세요.

  • 반응형 디자인: 미디어 쿼리를 적용하여 레이아웃을 다양한 기기에 맞게 조정합니다.


다음은 무엇입니까?

이 예를 들어 자신만의 것으로 만들어 보세요. 다양한 카드 디자인을 실험해 보세요. 연습을 많이 할수록 실력이 향상될 것입니다.

다음에는 친절한 동네 작가 MJ님. ? 안녕!!!

위 내용은 HTML 및 CSS Flexbox를 사용하여 반응형 카드 레이아웃 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.