๐ Styled Components VSย Tailwind CSS
|
์คํ์ผ๋ ์ปดํฌ๋ํธ(Styled Components) |
ํ
์ผ์๋ CSS(Tailwind CSS) |
์ ๊ทผ ๋ฐฉ์ |
- JS ๊ธฐ๋ฐ์ CSS-in-JSย ๋ผ์ด๋ธ๋ฌ๋ฆฌ |
|
- ๋ฆฌ์กํธ์์ ์ปดํฌ๋ํธ์ ์คํ์ผ์ด ๊ฒฐํฉ๋์ด ์ ์ง๋ณด์ ๋ฐ ์ฌ์ฌ์ฉ์ฑ์ ๋์ผ ์ ์์ | - HTML ํด๋์ค์ย ํน์ ํด๋์ค๋ฅผ ์ถ๊ฐํ์ฌ ์คํ์ผ์ ์ ์ํ๋ ์ ํธ๋ฆฌํฐย ํ๋ ์์ํฌ
- ํด๋์ค ๊ธฐ๋ฐ์ ์คํ์ผ๋ง์ด๊ธฐ ๋๋ฌธ์ ์์คํ
์ ์ผ๊ด๋๊ฒ ์ ์ง ๋ฐ ๋น ๋ฅธ ์์
๊ฐ๋ฅ |
| ์ธ์ด ๋ฐ ๋ฌธ๋ฒ | - JS ๊ธฐ๋ฐ์ผ๋ก ์คํ์ผ ์์ฑ | - HTML ํด๋์ค์ ๋ฏธ๋ฆฌ ์ ์๋ ํด๋์ค๋ฅผ ์ถ๊ฐํ์ฌ ์คํ์ผ ์ ์ฉ |
| ๋์ ์คํ์ผ๋ง | - JS์ ๋ณ์ ๋ฐ ์กฐ๊ฑด๋ฌธ์ ํ์ฉํด ๋์ ์ผ๋ก ์คํ์ผ ์กฐ์
- ๋ฐํ์์ ๋์ ์ผ๋ก ์คํ์ด๋ฆฌ ์์ฑ | - ํด๋์ค ๊ธฐ๋ฐ ์คํ์ผ์ด๊ธฐ ๋๋ฌธ์ ์ ์ ์คํ์ผ์ ์ฅ์ ์ ๋ณด์
- ๋์ ์คํ์ผ๋ง์ ํด๋์ค ์กฐํฉ์ ํตํด ์์ฑ |
| ๋ฒ๋ค ํฌ๊ธฐ ๋ฐ ์ฑ๋ฅ | - ๋ฐํ์์ ์คํ์ผ์ด ์์ฑ๋๋ฏ๋ก ๋ฒ๋ค ํฌ๊ธฐ ์ปค์ง ์ ์์ | - ๋น๋ ์์ ์ ์ ์ผ๋ก ํด๋์ค๊ฐ ์์ฑ๋๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก ๋ฒ๋ค ํฌ๊ธฐ ์์ |
// StyledComponentsCentering.js
import styled from 'styled-components';// ์คํ์ผ๋ ์ปดํฌ๋ํธ์ ๊ฒฝ์ฐ import ํ์
const CenteredContainer = styled.div`
display: flex;
justify-content: center;
align-items: center;
`;
<CenteredContainer></CenteredContainer> // ์ ์ฉ
// TailwindCSSCentering.js
<div className="flex justify-center items-center"></div>// ์ ์ธ ๋ฐ ์ ์ฉ
๐ tailwind์ styled-components๋ฅผ ๊ฐ์ด ์ฌ์ฉํ ์ด์
tailwind
- ์คํ์ผ๋ง์ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ํ ์ ์๋ค.
- TailwindCSS๋ฅผ ๋จ๋
์ผ๋ก ์ฌ์ฉ ํ ๊ฒฝ์ฐ ํ๊ทธ ๋ด์ ์์ฑ๋๋ className์ด ๋ง์์ ธ ๊ฐ๋
์ฑ ์ ํด
- ์ ์ง๋ณด์ ์ ํด๋น ํ๊ทธ๋ฅผ ์ฝ๋ ๋ด์์ ์๋ณํ์ฌ className์ ์์ ํด์ฃผ์ด์ผํ๋ ๋ฒ๊ฑฐ๋ก์ ๋ฐ์
styled-components
- ์ปดํฌ๋ํธ๋ฅผ ๋ง๋๋ ๋์์ ์คํ์ผ ์ ์ฉ์ด ๊ฐ๋ฅํ๊ณ
- js์ฝ๋์ css์ฝ๋ ๊ฐ์ ์ํ๊ฐ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๋ค.
- Styled Components์ in-JS ๋ฌธ๋ฒ์ ํ์ฉํ์ฌ ๋์ ์ธ ์คํ์ผ ์ ์ฉ ๊ฐ๋ฅ
โ๏ธ ์ฌ์ฉ๊ธฐ
- ๋์ผ ์ปดํฌ๋ํธ๋ฅผ ์ค๋ณตํ์ฌ ์ฌ์ฉ ํ ๊ฒฝ์ฐ์ ๋ํ ํธ์์ฑ ๋๋ชจ
- ์ฝ๋์ ๊ฐ๋
์ฑ ๋ฐ ์ ์ง๋ณด์์ฑ ํฅ์
styled-components๋ก ๋ฐ๋ณต๋๋ ๋ถ๋ถ์ ์ปดํฌ๋ํธ๋ก ๋ง๋ค์ด ์ฌ์ฌ์ฉํ ์ ์์๋๋ฐ
style์ ํ ๋ tailwind๋ฅผ ์ฌ์ฉํ๋ ๋ ๋น ๋ฅธ ์คํ์ผ๋ง ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
์ด ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฅ์ ์ ๊ฒฐํฉํด์ ์ฌ์ฉํ๋ ์ข ๋ ํธํ๊ณ ํจ์จ์ ์ธ ์ฝ๋ ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
โ
Tailwind + styled-components ์ค์น ๋ฐฉ๋ฒ
1. ํ์ํ ํจํค์ง ์ค์น