Tailwind CSS
Overview
Tailwind CSS?
A utility-first CSS framework packed with classes like
flex,pt-4,text-centerandrotate-90that can be composed to build any design, directly in your markup.
- Utility-first CSS framework, 즉 미리 정의된 CSS의 특성들을
class를 통해 불러와 적용시키는 형태의 CSS 프레임워크이다.

- 일반적인 CSS와 Utility-first CSS 스타일을 비교하였을때, 비교적 적은 코드로 빠른 시간 안에 레이아웃을 구현할 수 있다.
비교적 낮은 러닝커브
Tailwind CSS을 사용하기 위해서는 패키지 설치 및 세팅 후, 원하는 html 요소에 class 을 부여해주면 바로 사용이 가능하다. 물론 원하는 스타일 위해 class 명 또한 알아야 하지만, CSS 의 기본 속성명을 알고 있다면 바로 사용하기에 훨씬 수월하다. (class 명이 직관적이며 공식문서에서 매우 친절하게 알려주기 때문이다.)

- 위처럼 공식문서에서 원하는
class별CSS속성들을 알기 쉽게 제공해주고 있다.

- 자동 완성을 도와주는 플러그인이 존재하여, 어렵지 않게 접근할 수 있다.
쉬운 커스텀
Tailwind CSS는 처음부터 확장 가능하고 커스터마이징할 수 있도록 설계되었다. 때문에 기존의 스타일의 값만 수정하거나, 확장하는 방식으로 커스텀이 가능하다. (class 별 확장하는 방식 또한 공식문서에서 예시 코드로 제공하고 있다.)

Custom style
- 커스텀은
tailwind.config.js에서 가능하며, 직접 파일을 생성 및 커스텀을 하거나npx tailwindcss init --full커맨드를 통해 기존 스타일을 불러와 확인 후 수정하여 적용할 수 있다.
간단한 Responsive Design
반응형 디자인 또한 class 명으로 직접 지정해줄 수 있다. 특정한 뷰에서 특정한 클래스가 어떻게 보일지 직관적으로 확인이 가능하다.

)

- break 포인트에 해당하는
prefix를 해당class명 앞에 붙여줌으로써, 반응형을 간편하게 구현할 수 있다.
스타일 재사용

@apply키워드를 통해, 원하는class명들을 묶어서 재사용할 수 있다.
Setting

사용하는 프레임워크별 설치 방법이 약간씩 차이가 있다. 공식 문서에 환경별 설치법이 있으니, 참고하여 설치하면 된다. (이번 CRA 환경 기준으로 세팅을 진행하였다.)
패키지 설치
npm install -D tailwindcss postcss autoprefixer
tailwindcss: tailwindcss 패키지postcss: JS 플러그인을 통해 CSS를 변환시키는 툴autoprefixer: postcss 플러그인의 종류로, vender-prefix를 자동으로 붙여주는 플러그인
*vender-prefix: Google, IE 등 브라우저 공급 업체에서, 시험적인 기능을 추가할때 본인들의 브라우저 내에서 동작할 수 있도록 적용하는 방법이다. 아직 웹 표준 및 권고에 맞지 않거나, 완벽하게 제정된 상태가 아닌 CSS 기능을 사용하고자 할 경우 사용한다.*



tailwindcss.config.js, postcss.config.js 파일 생성
npx tailwindcss init -p
tailwindcss.config.js , postcsss.config.js 파일 내용 추가
// tailwindcss.config.js
module.exports = {
content: [
"./src/**/*.{js,jsx,ts,tsx}", // tailwindcss를 사용하고자 하는 경로, 파일
],
theme: {},
plugins: [],
};
// postcss.config.js (npx 커맨드를 통해 파일을 생성하면 아래 모듈이 자동 추가됨)
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
./src/index.css 에 tailwind 명령문 추가
@tailwind base; /* tailwind 기본 스타일 및 확장된 스타일 주입 */
@tailwind components; /* tailwind 기본 컴포넌트 클래스 및 확장된 컴포넌트 클래스 주입 */
@tailwind utilities; /* tailwind 기본 유틸리티 클래스 및 확장된 유틸리티 클래스 주입 */
참고
'Etc' 카테고리의 다른 글
| TIL | 패키지 잠금파일 (1) | 2022.03.26 |
|---|---|
| TIL | GraphQL Subscriptions (0) | 2022.03.13 |
| TIL | Webstorm IDE Setting Share (0) | 2022.03.01 |
| TIL | MSW(Mock Service Worker) (0) | 2022.02.07 |
| TIL | git 폴더명 대소문자 이슈 (0) | 2022.01.29 |