← Back to React Course | Chapter 11: Styling in React | Lesson 3 of 8

Tailwind CSS Setup करना

Tailwind CSS ऐसा है जैसे pre-labeled LEGO bricks का एक box — हर brick को scratch से design करने के बजाय, आप ready-made pieces (utility classes) snap together करते हैं अपना style बनाने के लिए।
Syntax
markup
<div className="utility-one utility-two utility-three">
  Content
</div>

// tailwind.config.js
module.exports = {
  content: ["./src/**/*.{js,jsx}"],
};

'Utility-First' का मतलब क्या है

अपनी rules वाली custom CSS classes लिखने के बजाय (जैसे '.card { padding: 16px; }'), Tailwind कई छोटी, single-purpose utility classes प्रदान करती है (जैसे padding के लिए p-4) जिन्हें आप सीधे अपने JSX के className में compose करते हैं।

Styling इन छोटे pieces को combine करने से होती है, नई CSS लिखने के बजाय।

Note: Tailwind की utility classes CSS values पर predictably map होती हैं — p-4 का मतलब 1rem का padding है, text-lg का मतलब एक larger font size है, और इसी तरह।
Warning: यह एक build-tool-based framework है — इसे install और configure करना ज़रूरी है, और यह इस CDN-only preview sandbox से नहीं चल सकता।

उदाहरण: What 'Utility-First' Means

markup
// Run in your local React project (npm install required)
function Card() {
  return (
    <div className="p-4 bg-white rounded shadow">
      <h2 className="text-lg font-bold">Card Title</h2>
      <p className="text-gray-600">Card content here.</p>
    </div>
  );
}

Content Paths Configure करना

Tailwind सिर्फ उन classes के लिए CSS include करता है जो उसे आपके project की files में actually reference मिलती हैं, final CSS bundle को छोटा रखते हुए। tailwind.config.js में content array उसे बताता है exactly कौन सी files scan करनी हैं class names के लिए — यहां एक path miss करने का मतलब है वे classes silently काम नहीं करेंगी।

Note: हर file type include करें जहां आप JSX लिखते हैं, जैसे './src/**/*.{js,jsx,ts,tsx}', यह सुनिश्चित करने के लिए कि कुछ भी miss न हो।
Warning: content में एक folder include करना भूल जाने का मतलब है Tailwind सिर्फ उस folder में उपयोग की गई classes strip कर देगा, और वे elements completely unstyled दिखेंगे।

उदाहरण: tailwind.config.js Content Paths

bash
$ cat tailwind.config.js
/** @type {import('tailwindcss').Config} */
export default {
  content: [
    "./index.html",
    "./src/**/*.{js,jsx,ts,tsx}",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

⚠️ Run this in your own terminal or Node.js environment.

Multiple Utility Classes Combine करना

एक real component typically कई छोटी utility classes को एक साथ एक className string में combine करता है — spacing, color, typography, और layout classes सब साथ-साथ — final appearance बनाने के लिए, हर component के लिए एक custom class लिखने के बजाय।

Note: लंबी class lists के लिए, Tailwind Prettier plugin जैसे tools classes को readability के लिए एक consistent order में auto-sort कर सकते हैं।
Warning: बहुत लंबे className strings को visually scan करना मुश्किल हो सकता है — कुछ teams repeated combinations को एक छोटे reusable component में extract कर देती हैं इसके बजाय।

उदाहरण: Combining Multiple Utility Classes

markup
// Run in your local React project (npm install required)
function Button({ children }) {
  return (
    <button className="px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded font-semibold">
      {children}
    </button>
  );
}
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. tailwind.config.js में content paths configure करना भूल जाना, इसलिए Tailwind आपकी component files scan नहीं करता और जिन classes का आप actually उपयोग कर रहे हैं उन्हें strip कर देता है।
  2. Tailwind की existing utility classes compose करने के बजाय habit से custom CSS लिखना।
  3. Build step न run करना, इसलिए raw Tailwind directives (@tailwind base;) कभी real CSS में compile नहीं होते।
चैप्टर सारांश
  • Tailwind CSS एक utility-first CSS framework है: आप छोटे, single-purpose classes सीधे अपने JSX में compose करते हैं।
  • इसे production use के लिए एक build-step setup चाहिए (PostCSS, या Vite का built-in Tailwind plugin), सिर्फ एक CDN link नहीं।
  • Config file का content array Tailwind को बताता है कौन सी files scan करनी हैं उन class names के लिए जिन्हें उसे रखना चाहिए।
  • Common utilities में spacing (p-4), color (bg-blue-500), और layout (flex, grid) classes शामिल हैं।
ब्राउज़र सपोर्ट

npm install tailwindcss (या Vite plugin) चाहिए — इस sandbox में CDN build tooling के ज़रिए available नहीं।

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.