오늘은 Framework 중
Tailwind CSS
에 대해 알아보는 시간을 가지자 :)
Utility-First
를 지향하는 CSS 프레임워크
🤔
Utility-First
가 뭐지?
:Utility-First
란 미리 세팅된유틸리티 클래스
를 활용하여 인라인에서 스타일링하는 것이다!
🤔 엥?
유틸리티 클래스
는 또 뭐야?
:유틸리티 클래스
란 아래와 같이 딱 하나의 기능만 하는 매우 적은 양의 CSS 코드를 담고 있는 클래스를 의미한다!.rounded { border-radius: 0.25rem; }
Bootstrap
처럼 미리 정해져있는 클래스명들을 인라인 스타일로 지정하여 쉽게 디자인할 수 있게 만들어주는 CSS 프레임워크
이다!Tailwind CSS
를 좋아하는 가장 큰 이유일 듯 (나도 극공감 👍)BreakPoint
가 존재하기 때문에 반응형 디자인을 쉽게 구현할 수 있음CSS
파일을 작게 유지할 수 있음CSS
파일을 생성하지만 Tailwind CSS
를 이용하면 인라인으로 스타일을 지정할 수 있기 때문에 프로젝트 관점에서 보았을 때 CSS
파일 용량이 상대적으로 늘어나지 않음radius
, color
등)을 제공하므로 내가 원하는 디자인을 구현하기 편함Bootstrap
은 버튼
, 표
처럼 해당 요소 전체가 디자인 된 스타일을 제공하여 내 입맛에 맞는 디자인을 구현하는 데 한계가 있음dark:
라는 prefix를 적고 지정하는 스타일은 다크 모드
일 때 자동으로 적용됨CSS
를 변경하면 앱 전체에 문제가 발생할 경우가 있음 (CSS
는 전역적이므로!)Tailwind CSS
를 사용하면 인라인으로 지정한 해당 요소의 스타일만 수정하는 것이므로 다른 곳에 영향을 끼칠 걱정이 없음Headwind
와 같은 플러그인(정렬 기능)을 활용해 가독성을 높일 수 있긴 함CSS
클래스들을 모두 포함하기 때문CSS
는 실제로 코드에 사용한 클래스들만 포함Tailwind CSS
는 정의한 순서에 따라 스타일을 구성함blue
보다 red
가 뒤에 있으므로 red
가 적용되지만 Tailwind CSS
에서는 제일 앞의 blue
가 적용됨JS
를 이용해 조건을 달아 스타일을 지정해야 할 때 제대로 적용이 안 될 수 있음여기서 의문이 들었다.
🤔 인라인으로 작성하는CSS
와Tailwind CSS
는 큰 차이가 없는 것 같은데?
그래서 찾아보았다!
① 인라인 스타일에서 :hover
, :focus
와 같은 pseudo class
(의사 클래스)의 사용가능 유무
Tailwind CSS
: 사용 ⭕️
CSS
인라인 스타일 : 사용 ❌
② 인라인 스타일에서 ::before
, ::after
와 같은 pseudo element
(의사 요소)의 사용가능 유무
Tailwind CSS
: 사용 ⭕️
CSS
인라인 스타일 : 사용 ❌
③ 인라인 스타일에서 반응형 디자인 구현가능 유무
Tailwind CSS
: 구현 ⭕️
CSS
인라인 스타일 : 구현 ❌
이렇게 찾아보고 정리해보니 확실히
CSS
인라인 스타일보다Tailwind CSS
가 구현할 수 있는 범위가 넓군 👍
❗️ 만약
Tailwind
를 맛보기로만 잠깐 써보고 싶은데 설치하긴 번거롭다?!
그럴 땐Tailwind Play
!
Tailwind CSS
공식 사이트에서 제공하는 자체 온라인 코드 편집기
Tailwind Play에서 바로 Tailwind CSS
를 사용해 웹페이지를 만들어 볼 수 있음
HTML
탭 : HTML
코드 작성
CSS
탭 : 추가적인 CSS
작성
Config
탭 : Tailwind CSS
설정
Share
버튼 : 버튼 클릭 시 나오는 URL로 다른 사람에게 내가 만든 Tailwind
코드와 웹페이지를 공유할 수 있음
우측 상단
- Tailwind CSS
의 버전을 변경할 수 있는 버튼
- 화면 배치를 변경할 수 있는 옵션 버튼
- 다크 모드 / 라이트 모드 전환 버튼
나도 잠깐 실제로 사용해보니 손쉽게
Tailwind
를 사용해 볼 수 있어 너무 좋은 것 같다!
설치하는 게 부담스럽게 느껴지는 사람에게 잠깐 맛보기로 딱인 듯 😀
처음에 Tailwind CSS
를 들었을 땐 '이게 뭐지?' 싶었다. 이전에 다뤘던 Bootstrap
은 사용해 본 적은 없었지만 들어는 봤었기 때문에 큰 부담감이 없었다.
반면에 Tailwind CSS
는 정말 처음 들어본 프레임워크라 서치하기 전에 조금 부담이 되고 겁도 조금 났다.
하지만 찾아보다보니 Tailwind CSS
도 Bootstrap
와 비슷하게 프론트엔드 개발자들에게 디자인에 대한 부담을 덜어주고자 만들어진 프레임워크이며 사용 매커니즘이 비슷한 것 같아 부담감은 사라졌다! (물론 두 프레임워크의 차이는 당연히 존재한다!)
음.. 아직까지 Tailwind CSS
를 본격적으로 사용해 보진 않았지만 지금까지 알아본 바로는 개인적으로 Bootstrap
보다 나에게 잘 맞을 것 같다는 생각이 든다.
왜냐면 저번 시간까지 Bootstrap
을 실습하면서 커스터마이징하기 쉬운 편이 아닌 게 불편함으로 크게 다가왔기 때문이다.
물론! 개인 작업 환경에 따라 선호하는 프레임워크가 갈리겠지만 나는 디자이너가 있는 환경이라 Bootstrap
은 실제로 내가 작업할 때 적용하기 힘들 것 같았다.
반면 Tailwind CSS
는 디자이너의 디자인도 충분히 구현할 수 있으면서 동시에 클래스명을 정하지 않아도 되는 세상 너무나 큰 이점이 있어서 벌써 너무 마음에 드는 것 같다 😀
다음 시간부터 직접 사용해보면 또 어떨지 모르겠지만 우선은 굉장히 끌리는 프레임워크인 것 같다 :)
Tailwind CSS의 경우 snippet(단축어 및 자동완성)은 vscode extension에 가면 찾아볼수있어요~!
같이 활용하면 더 좋을것 같네요!