4) CSS Styling
Intro
React에서는 컴포넌트별로 파일을 나눠서 개발을 진행합니다.
예를 들어 Header.tsx, Footer.tsx 등 각각의 컴포넌트를 만든다고 가정할 때,
우리가 일반적으로 사용하던 App.css, style.css 같은 전역 CSS 파일은 모든 컴포넌트에 영향을 줄 수 있습니다.
// app.css
.title {
color: red;
font-size: 24px;
}
// Header.tsx와 Footer.tsx에서 둘 다 className="title" 사용
<h1 className="title">헤더입니다</h1>
<h1 className="title">푸터입니다</h1>이 경우, 두 요소는 동일한 스타일이 적용되며, 원치 않는 **스타일 충돌(bug)**이 발생할 수 있습니다. 그래서 등장한 것이 바로 CSS Module입니다.
1. CSS Module
css파일에
.module.css확장자 추가css module에 추가한각 클래스명은 자동으로 고유한 이름으로 변환됩니다.
따라서, 다른 컴포넌트와 클래스명이 겹쳐도 충돌하지 않으므로 컴포넌트 단위로 스타일을 안전하게 관리할 수 있습니다.
styles.title->title_abcd와 같이 고유한 클래스명으로 변경
2. Tailwind CSS
React에서 매우 인기 있는 CSS 프레임워크
직접 스타일을 쓰지 않고, 미리 정의된 클래스명들을 조합해서 UI를 만듭니다.
마치 레고 블록을 조립하듯 디자인을 만들어 나가는 방식입니다.
Last updated