๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘ฉ‍๐Ÿ’ป ๊ฐœ๋ฐœ ๊ณต๋ถ€/ํ•œ๊ฒฝxํ† ์Šค ๋ถ€ํŠธ์บ ํ”„(Fullstack)

[ํ•œ๊ฒฝxToss] ๐ŸŠ์ถ”๊ฐ€๊ณต๋ถ€) daisyUI dark mode / Tailwind CSS option / ๋ฐ์ด์ง€ UI ๋‹คํฌ๋ชจ๋“œ ์ž๋™ ์„ค์ •

728x90

 

๊ถ๊ธˆํ–ˆ๋˜ ๊ฒƒ :

์ตœ๊ทผ UIUX ์ธก๋ฉด์—์„œ ๋‹คํฌ๋ชจ๋“œ๊ฐ€ ํ•„์ˆ˜์ด๋‹ค

๋ชจ๋“  ์š”์†Œ๋ฅผ daisyui๋กœ ๋งŒ๋“ ๋‹ค๋ฉด, ๋‹คํฌ๋ชจ๋“œ๊ฐ€ ์‚ฌ์šฉ์ž PCํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ž๋™์œผ๋กœ ์ ์šฉ๋˜๋Š”๊ฑธ๊นŒ?

 


์˜ค๋Š˜ daisyUI๋ฅผ ๋ฐฐ์› ๋‹ค.

๋ช‡๋…„๋™์•ˆ FE๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ, CSS๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๊นŽ์•„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ

์ด๋Ÿฐ component ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์žˆ๋‹ค๋‹ˆ ์‹ ์„ธ๊ณ„๋ฅผ ์ ‘ํ•œ ๋Š๋‚Œ์ด๋‹ค ๐Ÿ‘€

 

DaisyUI๋ž€?

  • Tailwind CSS๋ฅผ ํ™•์žฅํ•˜๋Š” UI ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • ๋ฏธ๋ฆฌ ์„ค๊ณ„๋œ UI ์š”์†Œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์Šคํƒ€์ผ๋ง๋œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • https://daisyui.com/docs/cdn/
 

Use daisyUI from CDN — Tailwind CSS Components ( version 4 update is here )

How to use daisyUI from a CDN?

daisyui.com

 

 

๊ทธ๋Ÿฐ๋ฐ ์‹ค์Šต์„ ํ•ด๋ณด๋‹ˆ, ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์ „์ฒด background๊ฐ€ ์–ด๋‘์šด ์ƒ‰์œผ๋กœ ์„ค์ •๋˜์–ด์žˆ์—ˆ๋‹ค.

๋‚ด ๋งฅ๋ถ์„ ๋‹คํฌ๋ชจ๋“œ๋กœ ํ•ด๋†”์„œ PC ์„ค์ •์ด ๊ทธ๋Œ€๋กœ ๋ฐ˜์˜๋˜์—ˆ๋‚˜ ํ•˜๊ณ 

๋ผ์ดํŠธ ๋ชจ๋“œ๋กœ ๋ฐ”๊ฟ”๋ณด๋‹ˆ

์ง„์งœ ์‚ฌ์šฉ์ž ๊ธฐ๋ณธ ์„ค์ •์ด ๋ฐ˜์˜๋˜๋Š”๊ฑฐ์˜€๋‹ค.

 

dark mode
light mode

 

๊ทธ๋ž˜๋„ ์ด๊ฑด ์–ด๋””๊นŒ์ง€๋‚˜ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์ด๋ผ..

์‹ค์ œ๋กœ Daisy ui๋ฅผ ์‚ฌ์šฉํ•œ ์›น์„ ๋ฐฐํฌํ–ˆ์„ ๋•Œ๋„ ์ด๋ ‡๊ฒŒ ์ž๋™์œผ๋กœ ํ…Œ๋งˆ๊ฐ€ ์ ์šฉ๋˜๋Š”๊ฑด์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.

 

์ฐพ์•„๋ณด๋‹ˆ, ์‚ฌ์šฉ์ž์˜ OS ์„ค์ •์ด ๋‹คํฌ ๋ชจ๋“œ์ผ ๋•Œ ์›น์‚ฌ์ดํŠธ๋„ ๋‹คํฌ ๋ชจ๋“œ๋กœ ์ž๋™ ์ „ํ™˜๋˜๋Š” ๊ฒƒ์€ ๋งž๋Š” ๊ฒƒ ๊ฐ™๋‹ค!

 

ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์— ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์žˆ์„์ง€ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด๊ณ ,

ํ™•์‹คํ•œ ๊ฒŒ ์ข‹๊ธฐ์— ๋ช…์‹œ์ ์œผ๋กœ ์ฝ”๋“œ์— ์˜ต์…˜ ์„ค์ •์„ ํ•ด์ฃผ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. (๊ฐœ๋ฐœ์ž ํŠน : ์• ๋งคํ•œ๊ฑฐ ๋ชป์ฐธ์Œ)

 

๊ฐœ์ธ์ ์œผ๋กœ ๋‹คํฌ๋ชจ๋“œ๋ฅผ ์„ ํ˜ธํ•ด์„œ ์–ด๋–ค ์„œ๋น„์Šค๋“  ๊ผญ ์žˆ์—ˆ์œผ๋ฉด ํ•˜๋Š” ๊ธฐ๋Šฅ์ธ๋ฐ

๋ฐ์ด์ง€ ui๋ฅผ ํ™œ์šฉํ•ด์„œ ํŽธํ•˜๊ฒŒ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๋‹ˆ

๋‚˜์ค‘์— ํ”„๋กœ์ ํŠธ์— ๊ผญ ์จ๋จน์–ด๋ด์•ผ๊ฒ ๋‹ค โ€ผ๏ธ

 

์˜ต์…˜ ์„ค์ •

1. ๊ธฐ๋ณธ๊ฐ’์„ ํ•ญ์ƒ ๋‹คํฌ๋ชจ๋“œ๋กœ ์„ค์ •ํ•˜๊ธฐ : data-theme ์ด์šฉ (light/dark)

<html data-theme="dark">
  <div class="card bg-base-100 text-base-content">
    <p>ํ•ญ์ƒ ๋‹คํฌ๋ชจ๋“œ</p>
  </div>
</html>

 

2. ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ ์„ค์ •์— ๋งž๊ฒŒ ๋‹คํฌ/๋ผ์ดํŠธ ๋ชจ๋“œ ๋ณ€๊ฒฝํ•˜๊ธฐ : js - Tailwind media ์˜ต์…˜ ์„ค์ •

module.exports = {
  darkMode: 'media', // ์‹œ์Šคํ…œ ๋‹คํฌ ๋ชจ๋“œ์— ๋”ฐ๋ผ ์ž๋™ ์ ์šฉ
  theme: {
    extend: {},
  },
  plugins: [require("daisyui")],
};

 

3. ๋‹คํฌ๋ชจ๋“œ ์ „ํ™˜์„ ๋ฒ„ํŠผ(ํ† ๊ธ€) ํด๋ฆญ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?

<html>
  <body class="bg-base-100 text-base-content">
    <button id="themeToggle" class="btn btn-primary">Toggle Theme</button>
    <script>
      const themeToggle = document.getElementById('themeToggle');
      themeToggle.addEventListener('click', () => {
        const html = document.documentElement;
        html.classList.toggle('dark');
      });
    </script>
  </body>
</html>

 


๋Š๋‚€์ : 

 

daisyUI์— ์‹ฌํ”Œํ•˜๊ณ  ์˜ˆ์œ UI์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋งŽ์•˜๋‹ค

(๊ฐ•์‚ฌ๋‹˜ ๋ง์”€ : ๊พธ์•ˆ๊พธ ์Šคํƒ€์ผ~)

 

๊ฐœ๋ฐœ์ž์˜ ๋ˆˆ์€ ์†Œ์ค‘ํ•˜๋‹ˆ๊นŒ.. ๋‹คํฌ๋ชจ๋“œ๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๊ฒ ์ง€๋งŒ

๋ผ์ดํŠธ๋ชจ๋“œ ํ™”๋ฉด์—์„œ๋„ ํ…Œ์ŠคํŠธํ•ด์„œ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธ ํ•„์ˆ˜์ผ๋“ฏ!

 

 

728x90