๐ป DEV83 [Tailwind CSS] 17. sticky top-0 & backdrop-blur ์์ฝ 1. ํ์ต๋ด์ฉ : sticky top-0 2. ํ์ต๋ด์ฉ : backdrop-blur์์ธ 1. ํ์ต๋ด์ฉ : sticky top-0 โผ๏ธ sticky top-0 ์ ์- position: sticky : ์คํฌ๋กค ์์น์ ๋ฐ๋ผ ์์๊ฐ ํ๋ฌ๊ฐ๋ค๊ฐ ํน์ ์๊ณ์ ์ ๋๋ฌํ๋ฉด ๊ณ ์ (sticky)๋๋ css- relative์ fixed ์ฌ์ด์ ์ฑ๊ฒฉ : ๋ถ๋ชจ ์ปจํ ์ด๋ ์์ญ ๋ด์์๋ง ๊ณ ์ sticky top-n : top-0 / top-4 / top-1/2 ๋ฑ โผ๏ธ sticky top-0 ์ฉ๋ฒreturn ( ใฑใดใทในใ ํ ); - hea.. 2025. 6. 19. [Tailwind CSS] 16. clsx ์ฌ์ฉํ๊ธฐ ์์ฝ 1. ํ์ต๋ด์ฉ : clsx ์ฌ์ฉํ๊ธฐ์์ธ 1. ํ์ต๋ด์ฉ : clsx ์ฌ์ฉํ๊ธฐ โผ๏ธ clsx ์ ์- clsx๋ ๊ฒฝ๋ className ์ ํธ๋ฆฌํฐ์ด๋ค.- ์กฐ๊ฑด๋ถ๋ก ํด๋์ค ๋ฌธ์์ด์ ํฉ์น๊ฑฐ๋, fasly ๊ฐ(false, null, undefined, 0, "")์ ์๋์ผ๋ก ๊ฑธ๋ฌ์ฃผ๋ ๊ฒฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. โผ๏ธ clsx ํน์ง- clsx๋ ์ ๋ก ์์กด(zero-dependency), ๋ฒ๋ค ํฌ๊ธฐ ์ฝ 200B(์ต์ํ์) โผ๏ธ clsx ์ค์น# npmnpm install clsx โผ๏ธ clsx ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒimport clsx from 'clsx';function Button({ isPrimary, isDisabled }: { isPrimary: boolean; isDisabled?: boolean }) { ret.. 2025. 6. 19. [Tailwind CSS] 15. flex flex-col items-center ์์ฝ 1. ํ์ต๋ด์ฉ : flex flex-col (+ items-center)์์ธ 1. ํ์ต๋ด์ฉ : flex flex-col (+ items-center) โผ๏ธflex flex-col- flex ๊ธฐ๋ณธ์ direction์ ๊ฐ๋ก๋ก ํด์ค๋ค. → ๊ธฐ๋ณธ์ ์ผ๋ก flex flex-row ์ ๊ธฐ๋ฅ์ ํด์ฃผ๊ธฐ ๋๋ฌธ์.- flex flex-col → direction์ ์ธ๋ก๋ก ํด์ค๋ค.- flex flex-col + items-center → ์ํ์ ๋ ฌ!(๋ณดํต justify-center๋ฅผ ์ฐ์ง๋ง flex-col์ ๊ฒฝ์ฐ์๋ ๋ฐ๋๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค!) 2025. 6. 18. [Tailwind CSS] 14. DarkMode (๋คํฌ๋ชจ๋) ๋คํฌ๋ชจ๋๋ ํ๋ ์ด์์ฒด์ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด๋ค.๋์ฑ์ด Light, Dark, System ๋ชจ๋๋ก ์ ๊ณตํ๋ค. ์์ฝ 1. ํ์ต๋ด์ฉ : DarkMode (๋คํฌ๋ชจ๋)์์ธ 1. ํ์ต๋ด์ฉ : DarkMode (๋คํฌ๋ชจ๋) โผ๏ธDarkMode ์์ - ๊ธฐ๋ณธ ์ ๋ต : ์ด์์ฒด์ ์ ํธ๋ ์ฌ์ฉ (media)Tailwind๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด์ ์ฒด์ ์ ๋คํฌ ๋ชจ๋ ์ ํธ๋์ ๋ฐ๋ผ ์คํ์ผ์ ์ ์ฉํฉ๋๋ค. ์ด๋ฅผ ์ํด CSS์ prefers-color-scheme ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ณ๋์ ์ค์ ์์ด Tailwind์์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. - ์ ํ์ ์ ๋ต : ์๋์ผ๋ก ๋คํฌ ๋ชจ๋ ์ ํ (selector)// tailwind.config.jsmodule.exports = { darkMode: 'selector'.. 2025. 6. 13. [Tailwind CSS] 13. Animation (์ ๋๋ฉ์ด์ ) ์์ฝ 1. ํ์ต๋ด์ฉ : Animation (์ ๋๋ฉ์ด์ ) 2. ํ์ต๋ด์ฉ : Next.js์ SSR - Client components ์์ธ 1. ํ์ต๋ด์ฉ : Animation (์ ๋๋ฉ์ด์ ) โผ๏ธAnimation ์ ์- ์ ๋๋ฉ์ด์ ์ ์์๊ฐ ์๊ฐ์ ์ผ๋ก ์์ง์ด๊ฑฐ๋ ๋ณํํ๋ ๊ฒ์ ๋งํฉ๋๋ค.- Tailwind CSS์์๋ ๋ค์ํ ๋ด์ฅ ์ ๋๋ฉ์ด์ Utility๋ฅผ ์ ๊ณตํ๊ณ , ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ ์ฉ ๊ฐ๋ฅ โผ๏ธ Utility classanimate-spin : ์์๊ฐ ๊ณ์ํด์ ํ์ (Loading Indicator์ ์ ์ฉ)animate-bounce : ์์๊ฐ ๊ณ์ํด์ ์์๋๋ก ํ๋ ํจ๊ณผ (Scroll-Down ํ์ ๋ฑ์ ์ ์ฉ) animate-pulse : ์์๊ฐ ๋ถ๋๋ฝ๊ฒ ์ฌ๋ผ์ง๊ณ ๋ํ๋๋ ํจ๊ณผ (Loading Ske.. 2025. 6. 13. [Tailwind CSS] 12. Transition (ํธ๋์ง์ ) ์์ฝ 1. ํ์ต๋ด์ฉ : Transition (ํธ๋์ง์ )์์ธ 1. ํ์ต๋ด์ฉ : Transition โผ๏ธTransition ์ ์- Transition์ CSS์์ ์์๊ฐ ์ํ(๊ฐ)์ ๋ณ๊ฒฝํ ๋, ๊ทธ ๋ณํ๋ฅผ ์ผ์ ์๊ฐ ๋์ ๋ถ๋๋ฝ๊ฒ ์ฒ๋ฆฌํ๋ ์ ๋๋ฉ์ด์ โผ๏ธTransition ์์ - Transition์ hover์ ๊ฐ์ด ์์ ์ํ(๊ฐ)์ ๋ณ๊ฒฝํ์ ๋, ๋ณํ๋ฅผ ์ค๋ค! ( transition / duration-123(ms) )// transition duration-500 ์ ์ฐจ์ด!export default function Transition() { return ( {/* Transition ๋ฏธ์ ์ฉ */} Hover me .. 2025. 6. 13. [Tailwind CSS] 11. Responsive(2) ๋ชจ๋ฐ์ผ ์ฐ์ (Mobile-First) ์ค๊ณ ๋ฐฉ์์ ์ดํดํ๊ณ , ์นํ์ด์ง๋ฅผ ์ต์ ํํจ์ด ๋ชฉํ!Tailwind CSS ๋ ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , ๋ฏธ๋ฆฌ ์ ์๋ breakpoint Utility๋ฅผ ํตํด ์์ฝ๊ฒ ๋ฐ์ํ ๋์์ธ์ ๊ตฌํ! ์์ฝ 1. ํ์ต๋ด์ฉ : Responsive 2. ํ์ต๋ด์ฉ : ์์ธ 1. ํ์ต๋ด์ฉ : Responsive โผ๏ธ ๋ฐ์ํ ๋์์ธ (Responsive Design) ์ ์- ๋ฐ์ํ ๋์์ธ : ๋ฐ์คํฌํ, ํ๋ธ๋ฆฟ, ๋ชจ๋ฐ์ผ ๋ฑ ๋ค์ํ ๊ธฐ๊ธฐ์์ 2025. 6. 11. [Tailwind CSS] 10. Responsive ๋ชจ๋ฐ์ผ ์ฐ์ (Mobile-First) ์ค๊ณ ๋ฐฉ์์ ์ดํดํ๊ณ , ์นํ์ด์ง๋ฅผ ์ต์ ํํจ์ด ๋ชฉํ!Tailwind CSS ๋ ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , ๋ฏธ๋ฆฌ ์ ์๋ breakpoint Utility๋ฅผ ํตํด ์์ฝ๊ฒ ๋ฐ์ํ ๋์์ธ์ ๊ตฌํ! ์์ฝ 1. ํ์ต๋ด์ฉ : Responsive 2. ํ์ต๋ด์ฉ : ์์ธ 1. ํ์ต๋ด์ฉ : Responsive โผ๏ธ ๋ฐ์ํ ๋์์ธ (Responsive Design) ์ ์- ๋ฐ์ํ ๋์์ธ : ๋ฐ์คํฌํ, ํ๋ธ๋ฆฟ, ๋ชจ๋ฐ์ผ ๋ฑ ๋ค์ํ ๊ธฐ๊ธฐ์์ ์น์ฌ์ดํธ๊ฐ ๊ธฐ๊ธฐ์ ํ๋ฉด ํฌ๊ธฐ์ ๋ง์ถฐ ์๋์ผ๋ก ๋ ์ด์์์ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ- ์ฌ์ฉ์๊ฐ ์ด๋ค ๊ธฐ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ์ต์ ์ UX๋ฅผ ์ ๊ณต๋ฐ์ ์ ์๋๋ก ํ๋ค. โผ๏ธ BreakPoint- ์ ์ : ์น์ฌ์ดํธ๊ฐ ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ ์ด์์์ด๋ ์คํ์ผ์ ๋ณ๊ฒฝ์ ์ค์ผํ .. 2025. 6. 11. [Tailwind CSS] 9. Position: fixed, sticky fixed์ sticky ์์ฑ์ ํ์ฉํด ์๋ฉํฑํ(์๋ฏธ๋ก ์ ) ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ๊ณ ์ ๋ ํค๋์ ์คํฌ๋กค์ ์ฐ์ธก์ ํจ๊ป ์ ์ง๋๋ ์ํ ์ ๋ณด์ ๊ฒฐ์ ๋ฒํผ์ด ํฌํจ๋ UI๋ฅผ ๊ตฌ์ฑ์ ๋ชฉํํ๋ค. ์์ฝ 1. ํ์ต๋ด์ฉ : Position : fixed 2. ํ์ต๋ด์ฉ : Position : sticky ์์ธ 1. ํ์ต๋ด์ฉ : Position : fixed โผ๏ธ Position : fixed ์ ์fixed๋ ์์๋ฅผ ๋ทฐํฌํธ์ ๊ณ ์ ํด, ์คํฌ๋กค ์์๋ ํด๋น ์์๊ฐ ๊ณ ์ ๋ ์์น์ ๋จธ๋ฌผ๊ฒ ํ๋ค. โผ๏ธ Position : fixed ์์ : header ๋ฅผ ๊ณ ์ ํด์ผํ ๋- fixed ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด, ์์๊ฐ ์๋์ ํ๋ฆ์์ ๋ฒ์ด๋๊ฒ ๋๊ธฐ์ ๊ฐ๋ก ๋๋น๋ ๋ฌ๋ผ์ง๋ค. ๋์ฒ1) fixed + w-full (100%) .. 2025. 6. 11. ์ด์ 1 2 3 4 ยทยทยท 10 ๋ค์