Tailwind CSS는 유연하고 효율적인 유틸리티 기반 CSS 프레임워크로, 빠르고 쉽게 UI 컴포넌트를 디자인할 수 있게 도와줍니다. 이번 글에서는 Tailwind CSS를 사용하여 간단한 카드 컴포넌트를 만드는 방법을 알아보겠습니다. Tailwind CSS의 유틸리티 클래스를 활용하면 디자인을 신속하게 구현할 수 있으며, 유지 보수성 또한 높입니다.

Tailwind CSS 설치하기

Tailwind CSS를 사용하기 위해 먼저 프로젝트에 설치해야 합니다. npm을 사용하는 방법을 소개합니다.

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init

위 명령어를 실행하면 tailwind.config.js 파일이 생성됩니다. 이 파일에서 Tailwind CSS의 설정을 변경할 수 있습니다. 다음으로 src/styles.css 파일을 생성하고 아래와 같이 기본적인 Tailwind CSS 디렉티브를 추가합니다.

@tailwind base;
@tailwind components;
@tailwind utilities;

이제 PostCSS를 사용하여 Tailwind CSS를 빌드합니다. package.json에 아래와 같이 스크립트를 추가합니다.

"scripts": {
  "build": "postcss src/styles.css -o dist/styles.css"
}

명령어를 실행하여 CSS 파일을 빌드합니다.

npm run build

카드 컴포넌트 만들기

이제 실제로 Tailwind CSS를 활용하여 카드 컴포넌트를 만들어보겠습니다. 다음은 기본적인 카드 컴포넌트의 HTML 구조입니다.

<div class="max-w-sm mx-auto bg-white shadow-lg rounded-lg overflow-hidden">
  <img class="w-full h-48 object-cover" src="https://via.placeholder.com/400" alt="Product Image">
  <div class="p-4">
    <h2 class="text-xl font-semibold mb-2">상품 제목</h2>
    <p class="text-gray-600">상품 설명입니다. 간단하게 상품의 특징을 설명할 수 있습니다.</p>
    <div class="flex justify-between items-center mt-4">
      <span class="text-lg font-bold text-blue-600">$99.99</span>
      <button class="bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600">구매하기</button>
    </div>
  </div>
</div>

위의 코드에서는 카드의 기본 구조를 정의했습니다. Tailwind의 유틸리티 클래스를 사용하여 마진, 패딩, 색상 및 배경 등을 적용했습니다. 각 클래스는 다음과 같은 역할을 합니다.

  • max-w-sm: 카드의 최대 너비를 설정합니다.
  • mx-auto: 카드가 수평 중앙에 위치하도록 합니다.
  • bg-white: 카드의 배경색을 흰색으로 설정합니다.
  • shadow-lg: 카드에 그림자를 추가하여 입체감을 줍니다.
  • rounded-lg: 모서리를 둥글게 만듭니다.
  • overflow-hidden: 이미지가 카드의 경계를 넘지 않도록 만듭니다.

반응형 디자인 적용하기

Tailwind CSS는 반응형 디자인을 손쉽게 구현할 수 있도록 돕습니다. 카드 컴포넌트가 다양한 화면 크기에서도 잘 보일 수 있도록 클래스를 추가해 보겠습니다.

<div class="max-w-sm sm:max-w-md md:max-w-lg lg:max-w-xl mx-auto bg-white shadow-lg rounded-lg overflow-hidden">
  <!-- 이미지 및 내용 생략 -->
</div>

여기서 sm:max-w-md, md:max-w-lg, lg:max-w-xl 클래스를 추가하여 화면 크기별로 카드의 최대 너비를 조절합니다. 이제 모바일, 태블릿, 데스크톱에서 모두 잘 보이게 됩니다.

Tailwind CSS의 장점

Tailwind CSS의 가장 큰 장점은 일관된 디자인을 쉽게 유지할 수 있다는 점입니다. 유틸리티 클래스를 사용하여 각 요소를 세밀하게 조정할 수 있으며, 디자인 시스템을 도입하기에도 유리합니다. 또한, 모듈화된 CSS를 작성할 수 있어 파일 크기를 줄이고 성능을 개선할 수 있습니다.

마무리

이번 글에서는 Tailwind CSS를 사용하여 간단한 카드 UI 컴포넌트를 만드는 방법을 살펴보았습니다. Tailwind CSS의 유틸리티 클래스를 통해 손쉽게 디자인을 구현할 수 있으며, 반응형 디자인도 간단하게 적용할 수 있었습니다. Tailwind CSS를 활용해 다양한 UI 컴포넌트를 만들어보며, 더 나은 사용자 경험을 제공하는 프론트엔드 개발에 도전해보세요.