css

Tailwindcss를 더 영리하게 사용하기

2023. 5. 6. 18:30
목차
  1. @layer components
  2. @apply

 

@layer components {
  .btn {
    @apply h-10
    w-36 rounded-md
     bg-[#f8f9fa] text-sm 
     text-gray-800 transition-shadow 
     hover:shadow-md
     hover:ring-1
    hover:ring-gray-200 focus:outline-none
     active:ring-gray-300;
  }
  .link {
    @apply cursor-pointer hover:underline;
  }
  .header-icon {
    @apply cursor-pointer rounded-full
    bg-transparent p-2 text-4xl hover:bg-gray-200;
  }
}

이런 형식으로 작성하면 btn이라는 클래스를 적용했을때

btn {} 안에 있는 모든 클래스들이 바로 적용되게됩니다.


@layer components

@layer를 사용하면 관련 스타일을 별도의 레이어로 그룹화 할 수 있어요

이 layer는 base, components, utilities에만 적용할 수 있습니다!

base에 적용하고싶다면 @layer base 와 같은 형태로 작성하면 되겠죠?

 

레이어에 추가된 모든 사용자 정의 css는 기본적으로 tailwindcss에 내장된 모든 클래스랑 마찬가지로

해당 css가 HTML에서 실제로 사용되는 경우에만 최종 빌드에 포함된다고하니

작성해놓고 사용하지 않는 클래스가 있더라도 걱정할 필요가 없습니다.


@apply

@apply는 미리 정의된 클래스 또는 사용자 정의 클래스를 요소에 적용할 수 있는 기능입니다.

tailwindcss가 제공하는 클래스를 사용하여 조합을 만들려고할때 유용해요!

공식문서에 따르면 이 기능은 타사 라이브러리의 스타일을 재정의 하는 등

사용자 정의 CSS를 작성해야하지만 디자인 토큰으로 작업하고

HTML 에서 사용하던 것과 동일한 구문을 사용하려는 경우에 유용하다고 하네요


https://tailwindcss.com/docs/functions-and-directives

더 자세한 정보는 공식문서를 참고해보세요!

반응형
저작자표시 비영리 (새창열림)

'css' 카테고리의 다른 글

clsx 사용법과 twMerge와 함께 유틸함수화 해두기  (1) 2023.05.21
tailwind-merge 사용법을 익히고 클래스 병합하기  (3) 2023.05.20
tailwind css로 수동으로 설정할 수 있는 다크모드 만들기  (0) 2023.05.02
자주 사용하는 tailwind css class cheat sheet  (0) 2023.04.24
tailwind css를 vite react project에 도입하기  (0) 2023.04.23
  1. @layer components
  2. @apply
'css' 카테고리의 다른 글
  • clsx 사용법과 twMerge와 함께 유틸함수화 해두기
  • tailwind-merge 사용법을 익히고 클래스 병합하기
  • tailwind css로 수동으로 설정할 수 있는 다크모드 만들기
  • 자주 사용하는 tailwind css class cheat sheet
냠냠맨
냠냠맨
프론트엔드 개발 전반을 다루는 기술 블로그입니다.
냠냠맨
React와 TypeScript를 좋아하는 개발자
냠냠맨
전체
오늘
어제
  • all category (433)
    • CMC (0)
    • best (11)
    • 년간회고 (1)
    • cheetsheet (15)
    • 프로젝트 회고 (3)
    • 서평 (3)
    • SEO Study (1)
    • 프로젝트 진행기 (10)
    • testcode (9)
    • yarnberry (7)
    • css (21)
    • typescript (15)
    • redux (7)
    • react (43)
    • Next.js (9)
    • Nestjs (3)
    • javascript (44)
    • programmers (67)
    • leetcode (41)
    • frontend (41)
    • backjoon (1)
    • Next.js Beta Docs 번역 (12)
    • TIL (15)
      • html (3)
    • Network (12)
      • 간단 정리 시리즈 (2)
      • 질답 준비 (0)
    • 자료구조와 알고리즘 (2)
    • CS (4)
      • OS (1)
    • 취업준비 (2)
    • zoom websocket (2)
    • talk (6)
    • 면접대비 (1)
    • 코드스테이츠 프론트 (5)
    • 간헐적 회고 (17)

블로그 메뉴

  • leetcode
  • programmers
  • javascript
  • html
  • css

공지사항

인기 글

태그

  • 말풍선
  • 개발자
  • 테오의스프린트17기
  • border말풍선
  • JavaScript
  • teosprint
  • frontend
  • 개발
  • 프론트엔드
  • 주니어개발자
  • 코드스테이츠 #프론트엔드
  • CSS
  • LeetCode
  • 테오의스프린트

최근 댓글

최근 글

hELLO · Designed By 정상우.
냠냠맨
Tailwindcss를 더 영리하게 사용하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.