์ ๋ฒ Kroom (Kream) ํ๋ก์ ํธ ๋ ์ํ๋์ด ํ์ ์คํฌ๋ฆฝํธ์ Tailwind๋ก Carousel๋ฅผ ๋ง๋์๋ ๋ชจ์ต์ ๋ณด๊ณ ๊ฐ๋ช ์ ๋ฐ์
๋์ง๊ธฐ๊ฒ ๋ฐ๋ผ๋ถ์ด ๋น๋ฒ์ ๋ฐฐ์์์๋ค..! ํ์ ์คํฌ๋ฆฝํธ์ Tailwind์ ๋น ๋ฅด๊ฒ ์ต์ํด์ง๊ณผ ๋์์ ํ์ฌ ์งํ์ค์ธ ํฐ ๊ท๋ชจ์ ํ๋ก์ ํธ์ ๋์์ด ๋๋ ค๋ฉด, ์ง์ ํด๋น ์๋น์ค์ ์ฌ์ฉ๋๋ Components ๋ฅผ ๊ธฐํ์ด ๋๋๊ธฐ ์ ์ ๋ง๋ค์ด๋ณด๋ฉด์ ์ฐ์ต์ ํ๋ฉด ๋ด ๋ด์์๋ ์ค๋ ฅ์ด ๊ธ๋ฐฉ ๋ ๊ฒ ๊ฐ์ ์งํํด ๋ณด๋ ค๊ณ ํ๋ค!
์ง๊ฒน๋๋ก ํด๋ฒ๋ฆฐ CRA
์ ๋ง์ด๊ทธ๋ ์ด์
์ ํ์ง ์๊ณ ๋ฐ๋ก ํ์
์คํฌ๋ฆฝํธ
๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
๋ฐ๋ก npx create-react-app [ํ๋ก์ ํธ ์ด๋ฆ] --template typescript
๋ผ๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅ์ ํ๋ฉด ์ถํ์ ๋ฐ๋ก npm install typescript~
๋ฑ์ ๋ช
๋ น์ด๋ฅผ ์ณ์ ์ค์นํ์ง ์์๋, react
์ ํธํ๋๋ typescript
๋ฅผ ์ฒ์๋ถํฐ ๊ฐ์ด ๊น๋ ค ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
์! ๋น์ฐํ ์ฒ์ ๋ณด์ด๋ ์์๋ก ๋ชจ์ ๋์๊ฐ๋ App.jsx
๋ ๋น์ฐํ App.tsx
๋ก ๋์ด์๋ค.
์์ ๋งํ๋ฏ์ด ๋๋ ๋จผ์ ์ด๋ก ์ ์ด์ง ์ฐ์ด ๋จน์ด๋ณด๊ณ , ๋จธ๋ฆฌ๋ถํฐ ๋ค์ด๋๋ฉฐ ๋ค์ณ๊ฐ๋ฉฐ ๋จธ๋ฆฌ์ ๋ฃ๋ ์คํ์ผ์ด๋ผ ๋ฐ๋ก tailwind๋ฅผ ์ค์นํ๊ณ , typescript์ ํจ๊ป ๋ง๋ค์ด ๋ณด๋ ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋ ค๋ฉด ์ฐ์ tailwindcss ๋ฅผ ์ค์นํด์ผ๊ฒ ์ง..
๋ฐฉ๋ฒ์ ์ฌ๊ธฐ ๊ณต์ํํ์ด์ง์ ์๋ค. https://tailwindcss.com/docs/installation
์์ ๋งํฌ์์ ํ
์ผ์๋๋ง์ ํ๊ทธ๋ค์ ์ต์ํด์ง๋๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง๋ง, ์ต์ํด์ง๊ธฐ๋ง ํ๋ค๋ฉด ๊ทธ ์ด๋ ํ css ํ๋ ์์ํฌ๋ณด๋ค ๋น ๋ฅด๊ฒ ์ํ๋ UI๋ฅผ ๊ตฌํํ ์ ์๋ค.
tailwind ์ค์น ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. (์ ์ฉ๋ ์์ด์~)
tailwindcss
๋ฐ ๊ทธ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ค์นํด ์ค ํ, tailwindcss์ ์ค์ ํ์ผ์ธ tailwind.config.js
๋ฐ postcss.config.js
ํ์ผ์ ์์ฑํด์ค๋ค.npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./src/**/*.{js,jsx,ts,tsx}",
],
theme: {
extend: {},
},
plugins: [],
}
@tailwind base;
@tailwind components;
@tailwind utilities;
import React from "react";
import logo from "./logo.svg";
import "./App.css";
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p className="text-3xl font-bold underline-offset-1">
Edit <code>src/App.tsx</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer">
Learn React
</a>
</header>
</div>
);
}
export default App;
Edit src~
๋ผ๋ ํ
์คํธ๋ฅผ ๊ฐ์ธ๊ณ ์๋ p ํ๊ทธ
์ text์ ์ฌ์ด์ฆ (size and height) ๋ฐ bold, underline-offset๊น์ง ํ ๋ฒ์ ์
ํ๋ณด์๋ค.
์ ๋ง ์ฝ๊ธดํ๋ค.. ๋จ์ง ๋จ์ ์
1. css ํ๋ ์์ํฌ๋ผ ์ ์น๊ตฌ๊ฐ ์ํ๋ ๋ฐฉ์์ผ๋ก ์ง์ผ๋์ ์ฒ์์ ์ง์
์ฅ๋ฒฝ์ด ์๋ค.
2. className="ํด๋น ์ปจํ
์ด๋์ ์ค๋ช
"
์ด ์๋ css ์์๋ค๋ก๋ง className
์ด ์ด๋ฃจ์์ง๊ธฐ ๋๋ฌธ์ ๊ฐ๋
์ฑ์ด ๊ต.์ฅ.ํ ์์ข๋ค. ์ถํ์ ์ ์ง๋ณด์์ ๋ค์ด๊ฐ๋ฉด ๋ง์ด ํค๋งฌ๊ฒ์ด๋ค. (๋ด๊ฐ ๊ทธ๋ฌ์ผ๋.. ใ
)
-> ๊ทธ๋์ ํ์
์ ํ ๋ ์ฝ์์ ์ ํ๋ฉด ์ข ๋์์ง๋ค. ๋๋ ์ด๋ฒ์ ๊ผญ๊ผญ, ์ปจํ
์ด๋ ๋ณ๋ก ์ฃผ์์ ๋ฌ์์ ์ด๋์ ์ฐ์ด๋ ์ฝ๋์ธ์ง ๊ตฌ๋ณํ์๊ณ ํ์๋ถ๊ณผ ์ฝ์์ ํ์๋ค..
ํ๊ธฐ๋ ๊ผญ ๋จ๊ธธ๊ฒ์ ~