Tailwind
Tailwind Css ํ๋ ์์ํฌ๋ก ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก css๋ฅผ ์ค์ ํ ์ ์๋ ํด์ด๋ค. Tailwind Docs Installation tailwind ๋ชจ๋ ์ค์น npm install -D tailwindcss@latest ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ค์น๊ฐ ๊ฐ๋ฅํ๋ค. npx tailwindcss init ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ํ์ฌ ๊ฒฝ๋ก์ tailwind.config.js ํ์ผ์ด ์์ฑ๋๋ฉฐ, ํ์ฌ ํ๋ก์ ํธ์์ tailwind๋ฅผ ์ ์ฉํ ์ ์๊ฒ ๋๋ค. tailwind.config.js ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋๋ค. module.exports = { // ํฌํจํ ํญ๋ชฉ content: ['./src/**/*.{html,js,jsx,ts,tsx, mustache}'], // ์ ์ธํ ํญ๋ชฉ (์ต์ ๋ฒ์ ์์ ์ฌ์ฉ๋์ง ์๋ ๋ฌธ๋ฒ) // purge: ["./src/**/*.html", "./src/**/*.js"], // jit mode๋ purge์ ํจ๊ป ์ธํธ๋ก ์ฌ์ฉ๋์๊ณ , ์ธํธ๋ก ์ฌ๋ผ์ก๋ค.(?) // mode: process.env.NODE_ENV ? 'jit' : undefined, darkMode: 'class', // [false, 'mdeia', 'class'] theme: { fontFamily: { display: ['Open Sans', 'sans-serif'], body: ['Open Sans', 'sans-serif'], }, extend: { fontSize: { 14: '14px', }, backgroundColor: { 'main-bg': '#FAFBFB', 'main-dark-bg': '#20232A', 'secondary-dark-bg': '#33373E', 'light-gray': '#F7F7F7', 'half-transparent': 'rgba(0, 0, 0, 0.5)', }, borderWidth: { 1: '1px', }, borderColor: { color: 'rgba(0, 0, 0, 0.1)', }, width: { 400: '400px', 760: '760px', 780: '780px', 800: '800px', 1000: '1000px', 1200: '1200px', 1400: '1400px', }, height: { 80: '80px', }, minHeight: { 590: '590px', }, backgroundImage: { 'hero-pattern': "url('https://demos.wrappixel.com/premium-admin-templates/react/flexy-react/main/static/media/welcome-bg-2x-svg.25338f53.svg')", }, }, }, plugins: [], }; tailwind๋ react์ ๊ฐ์ framework์์๋ ์๋์ผ๋ก ์ ์ฉ์ด ๊ฐ๋ฅํ์ง๋ง, ๊ทธ ์ธ์ ๊ฒฝ์ฐ์๋ postcss ๋ฑ๊ณผ ๊ฐ์ ๋ชจ๋์ ๋์์ด ํ์ํ๋ค. tailwind ๋ชจ๋ ์ค์น์ tailwind.config.js ๊ตฌ์ฑ์ด ๋๋ฌ๋ค๋ฉด, tailwind๋ก ์์ฑ๋ css๋ฅผ ์ฝ๋์ ์ถ๊ฐํด์ค์ผ ํ๋ค. index.css์ ์๋ ๊ตฌ๋ฌธ์ ์ถ๊ฐํ๋ค. @tailwind base; @tailwind components; @tailwind utilities; postcss ...