Workstation Logo
उत्पाद
एआई लैब्सOpenAI एजेंट्सClaude एजेंट्सGrok BotWorkstation CRM (WSL CRM)मार्केटिंगसभी उत्पाद
एआई समाधान
एआई वर्कस्टेशनAI SME Packagesप्राइवेट एआईजीपीयू क्लस्टरएज एआईएंटरप्राइज एआई लैबउद्योग अनुसार एआई
सेवाएँ
Platform ModernisationDigital EngineeringData Foundations & AIAutonomous Operationsएआई परामर्शDevOps स्वचालनसाइबर सुरक्षासॉफ़्टवेयर विकासएजेंट निर्माणMLOps सेटअप
हमारे बारे में
साझेदारग्राहक कहानियाँ
लेख
प्रलेखन
WSL ProxyRing PromoterWSL VaultJobshoutSysOps 24/7
ब्लॉग
संपर्क करेंLogin
Workstation

आधुनिक व्यवसायों के लिए AI वर्कस्टेशन, AI मल्टी-एजेंटिक सॉफ़्टवेयर, GPU अवसंरचना और बुद्धिमान एजेंट समाधान।

संपर्क करें

AI समाधान

एआई वर्कस्टेशनAI SME Packagesप्राइवेट एआईजीपीयू क्लस्टरएज एआईएंटरप्राइज एआई लैबउद्योग अनुसार एआई

उत्पाद

सभी उत्पादWSL CRM और ERPमार्केटिंगOpenAI एजेंट्सWSL ProxyRing PromoterWSL VaultJobshoutSysOps 24/7

कंपनी

हमारे बारे मेंWorkstation क्योंसाझेदारग्राहक कहानियाँमूल्य निर्धारणसंपर्क

संसाधन

लेखप्रलेखनब्लॉगखोजेंसाइटमैप
यूके कार्यालय
77-79 Marlowes, Hemel Hempstead HP1 1LFदिशा-निर्देश - M25 आउटर लंदन से जंक्शन 20 लेंकंपनी संख्या: 11641870सोम - शुक्र: सुबह 9:00 - शाम 6:00 GMT
+44 7515 356 146
बेल्जियम कार्यालय
Workstation SRL, Rue Vanderkindere 34, 1180 Uccle, BrusselsBE 0751.518.683सोम - शुक्र: सुबह 9:00 - शाम 6:00 CET
+32 492 45 67 46
भारत कार्यालय
#159 Sector 9, Pocket 1, DDA Flats, 110077 Dwarka, New Delhi
+91 98881 98841

© 2026 Workstation AI. सर्वाधिकार सुरक्षित।

गोपनीयताकुकीज़सेवा की शर्तेंवेबसाइट साइटमैप

Loading blog...

Home / Blog
TechAIOpsapi

React और आधुनिक CSS के साथ आश्चर्यजनक वेब इंटरफेस का निर्माण

React और आधुनिक सीएसएस

Balinder Walia19 मई 20259 min read

वेब स्थिर पृष्ठों से कहीं आगे विकसित हुआ है। उपयोगकर्ता ऐसे इंटरफ़ेस की अपेक्षा करते हैं जो देखने में आश्चर्यजनक, कोमल और हर किसी के लिए सुलभ हो। React, आधुनिक CSS तकनीकों के साथ मिलकर, डेवलपर्स को उन अपेक्षाओं को पूरा करने के लिए उपकरण प्रदान करता है। यह मार्गदर्शिका मूलभूत लेआउट सिस्टम से लेकर उन्नत एनिमेशन और डिज़ाइन सिस्टम आर्किटेक्चर तक सब कुछ कवर करती है।

आधुनिक सीएसएस लेआउट: ग्रिड और फ्लेक्सबॉक्स

React घटक आर्किटेक्चरऐप शेलहेडर - नेविगेशन, लोगो, खोज, उपयोगकर्ता मेनूसाइडबारनेविगेशन लिंकफ़िल्टरश्रेणियाँत्वरित कार्रवाईमुख्य सामग्रीकार्डफॉर्म घटकसबमिट करेंकार्डस्थिति और amp; डेटा प्रवाहप्रॉप्स ↓डेटाको मूल सेचाइल्ड घटकोंस्टेट लिफ्टिंग ↑ईवेंट और amp; कॉलबैकचाइल्डसे पैरेंटसंदर्भतक प्रवाहित होता है, पेड़ पर साझा किया जाता है

CSS ग्रिड और फ्लेक्सबॉक्स आधुनिक लेआउट के दो स्तंभ हैं। प्रतिक्रियाशील इंटरफ़ेस बनाने के लिए यह समझना आवश्यक है कि प्रत्येक का उपयोग कब करना है। दो-आयामी लेआउट के लिए

सीएसएस ग्रिड

ग्रिड पेज-स्तरीय लेआउट और किसी भी डिज़ाइन पर उत्कृष्टता प्राप्त करता है जिसके लिए पंक्तियों और स्तंभों दोनों पर एक साथ नियंत्रण की आवश्यकता होती है:

.dashboard {
  display: grid;
  grid-template-columns: 250px 1fr 300px;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "sidebar header  aside"
    "sidebar main    aside"
    "sidebar footer  aside";
  gap: 1rem;
  min-height: 100vh;
}

.header  { grid-area: header; }
.sidebar { grid-area: sidebar; }
.main    { grid-area: main; }
.aside   { grid-area: aside; }
.footer  { grid-area: footer; }

एक-आयामी प्रवाह के लिए फ्लेक्सबॉक्स

फ्लेक्सबॉक्स घटक-स्तरीय लेआउट के लिए आदर्श है - नेविगेशन बार, कार्ड पंक्तियाँ, प्रपत्र लेआउट, और कोई भी सामग्री जो एक ही दिशा में बहती है:

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 2rem;
}

.nav-links {
  display: flex;
  gap: 1.5rem;
  list-style: none;
}

कंटेनर क्वेरीज़

कंटेनर क्वेरीज़ घटक-आधारित डिज़ाइन के लिए गेम-चेंजर हैं। व्यूपोर्ट की चौड़ाई पर प्रतिक्रिया देने वाली मीडिया क्वेरी के विपरीत, कंटेनर क्वेरी घटक के कंटेनर के आकार पर प्रतिक्रिया करती है। इसका मतलब है कि एक कार्ड घटक अपने लेआउट को अनुकूलित कर सकता है, चाहे वह एक संकीर्ण साइडबार या विस्तृत मुख्य सामग्री क्षेत्र में दिखाई दे:

.card-container {
  container-type: inline-size;
  container-name: card;
}

@container card (min-width: 400px) {
  .card {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 1rem;
  }
}

@container card (max-width: 399px) {
  .card {
    display: flex;
    flex-direction: column;
  }
}

CSS कस्टम गुण और डिज़ाइन टोकन

CSS कस्टम गुण (वेरिएबल) एक रखरखाव योग्य डिज़ाइन प्रणाली की नींव हैं। अपने डिज़ाइन टोकन को:rootतत्व पर कस्टम गुणों के रूप में परिभाषित करें और उन्हें अपनी शैलियों में संदर्भित करें:

:root {
  /* Colors */
  --color-primary: #3b82f6;
  --color-primary-dark: #1d4ed8;
  --color-surface: #ffffff;
  --color-surface-elevated: #f8fafc;
  --color-text: #0f172a;
  --color-text-muted: #64748b;

  /* Spacing */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;

  /* Typography */
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px rgb(0 0 0 / 0.07);
  --shadow-lg: 0 10px 15px rgb(0 0 0 / 0.1);

  /* Borders */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-full: 9999px;
}

डिज़ाइन टोकन आपके संपूर्ण एप्लिकेशन में स्थिरता सुनिश्चित करते हैं और वैश्विक शैली परिवर्तनों को तुच्छ बनाते हैं - एक चर को अपडेट करें और इसका उपयोग करने वाला प्रत्येक घटक स्वचालित रूप से अपडेट हो जाता है। React में

स्टाइलिंग दृष्टिकोण

React स्टाइलिंग के लिए कई दृष्टिकोण प्रदान करता है। प्रत्येक के पास डेवलपर अनुभव, प्रदर्शन और रखरखाव में व्यापार-बंद है।

CSS मॉड्यूल

CSS मॉड्यूल बिल्ड समय पर अद्वितीय वर्ग नाम उत्पन्न करके व्यक्तिगत घटकों के लिए शैलियों का दायरा बढ़ाते हैं। वे सादगी और सुरक्षा का सर्वोत्तम संतुलन प्रदान करते हैं:

/* Button.module.css */
.button {
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.primary {
  background: var(--color-primary);
  color: white;
}

.primary:hover {
  background: var(--color-primary-dark);
  box-shadow: var(--shadow-md);
}
import styles from './Button.module.css';

function Button({ variant = 'primary', children, ...props }) {
  return (
    <button
      className={`${styles.button} ${styles[variant]}`}
      {...props}
    >
      {children}
    </button>
  );
}

टेलविंड सीएसएस

टेलविंड सीएसएस उपयोगिता कक्षाएं प्रदान करता है जो आपको घटकों को सीधे JSX में स्टाइल करने देता है। यह CSS और JavaScript फ़ाइलों के बीच संदर्भ स्विचिंग को समाप्त करता है और इसके कॉन्फ़िगरेशन के माध्यम से एक सुसंगत डिज़ाइन प्रणाली को लागू करता है:

function Card({ title, description, image }) {
  return (
    <div className="rounded-lg shadow-md overflow-hidden
                    bg-white hover:shadow-lg transition-shadow">
      <img src={image} alt={title}
           className="w-full h-48 object-cover" />
      <div className="p-4">
        <h3 className="text-lg font-semibold text-gray-900">
          {title}
        </h3>
        <p className="mt-2 text-gray-600 text-sm">
          {description}
        </p>
      </div>
    </div>
  );
}

CSS-in-JS (स्टाइल-घटक, भावना)

CSS-in-JS लाइब्रेरी आपको प्रॉप्स और स्टेट तक पूर्ण पहुंच के साथ सीधे अपने JavaScript में CSS लिखने की अनुमति देती है। शक्तिशाली होते हुए भी, वे रनटाइम ओवरहेड जोड़ते हैं और सर्वर-रेंडर किए गए अनुप्रयोगों के पक्ष से तेजी से बाहर हो रहे हैं:

import styled from 'styled-components';

const Badge = styled.span`
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: ${props => props.variant === 'success'
    ? '#dcfce7' : '#dbeafe'};
  color: ${props => props.variant === 'success'
    ? '#166534' : '#1e40af'};
`;

नई परियोजनाओं के लिए, बेहतर प्रदर्शन और सर्वर-रेंडरिंग संगतता के कारण सीएसएस-इन-जेएस पर सीएसएस मॉड्यूल या टेलविंड सीएसएस की सिफारिश की जाती है।

स्टोरीबुक के साथ एक डिजाइन सिस्टम का निर्माणडिज़ाइन सिस्टमटोकन, टाइपोग्राफी, कलर पैलेट, स्पेसिंग स्केल, ब्रांड दिशानिर्देशघटक लाइब्रेरीबटन, कार्ड, मॉडल, फॉर्म, टेबल्स - स्टोरीबुकमें प्रलेखितथीम इंजनCSS कस्टम प्रॉपर्टीज, डार्क/लाइट मोड, डायनामिक थीमिंगरिस्पॉन्सिव लेआउटग्रिड, फ्लेक्सबॉक्स, कंटेनर क्वेरीज़, क्लैंप के साथ फ्लुइड टाइपोग्राफी ()1प्रत्येक परत नीचे एक पर बनती है - पहुंच आधार हैउच्च अमूर्तता →

स्टोरीबुक यूआई घटकों के विकास और दस्तावेजीकरण के लिए एक अलग वातावरण प्रदान करता है। यह एक विकास उपकरण और एक लिविंग स्टाइल गाइड दोनों के रूप में कार्य करता है:

// Button.stories.jsx
import { Button } from './Button';

export default {
  title: 'Components/Button',
  component: Button,
  argTypes: {
    variant: {
      options: ['primary', 'secondary', 'ghost'],
      control: { type: 'select' },
    },
    size: {
      options: ['sm', 'md', 'lg'],
      control: { type: 'select' },
    },
  },
};

export const Primary = {
  args: { variant: 'primary', children: 'Click me' },
};

export const Secondary = {
  args: { variant: 'secondary', children: 'Click me' },
};

स्टोरीबुक डिजाइनरों और डेवलपर्स को अलग-अलग घटकों पर सहयोग करने में सक्षम बनाता है, यह सुनिश्चित करता है कि एप्लिकेशन में एकीकृत करने से पहले प्रत्येक घटक सही ढंग से काम करता है।

माइक्रो-इंटरैक्शन और एनिमेशन

विचारशील एनिमेशन उपयोगकर्ताओं का मार्गदर्शन करते हैं, फीडबैक प्रदान करते हैं और पॉलिश की भावना पैदा करते हैं। फ्रैमर मोशन React के लिए अग्रणी एनीमेशन लाइब्रेरी है।

फ्रैमर मोशन के साथ बेसिक एनिमेशन

import { motion } from 'framer-motion';

function FadeInCard({ children }) {
  return (
    <motion.div
      initial={{ opacity: 0, y: 20 }}
      animate={{ opacity: 1, y: 0 }}
      transition={{ duration: 0.4, ease: 'easeOut' }}
    >
      {children}
    </motion.div>
  );
}

स्टैगर्ड लिस्ट एनिमेशन

import { motion } from 'framer-motion';

const container = {
  hidden: { opacity: 0 },
  show: {
    opacity: 1,
    transition: { staggerChildren: 0.1 },
  },
};

const item = {
  hidden: { opacity: 0, x: -20 },
  show: { opacity: 1, x: 0 },
};

function AnimatedList({ items }) {
  return (
    <motion.ul variants={container}
      initial="hidden" animate="show">
      {items.map(i => (
        <motion.li key={i.id} variants={item}>
          {i.label}
        </motion.li>
      ))}
    </motion.ul>
  );
}

CSS-ओनली माइक्रो-इंटरैक्शन

हर एनीमेशन को लाइब्रेरी की जरूरत नहीं होती। सीएसएस ट्रांज़िशन और ट्रांसफ़ॉर्म कई सामान्य इंटरैक्शन को कुशलतापूर्वक संभालते हैं:

.interactive-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.interactive-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.button-press:active {
  transform: scale(0.97);
}

एक्सेसिबल कंपोनेंट पैटर्न

एक्सेसिबिलिटी वैकल्पिक नहीं है - यह पेशेवर वेब इंटरफेस के लिए एक आवश्यकता है। यह सुनिश्चित करने के लिए कि आपके घटक सभी के लिए काम करें, इन पैटर्न का पालन करें।

फोकस प्रबंधन

जब मोडल खुलते हैं, तो फोकस को मोडल पर ले जाएं। जब वे बंद हो जाएं, तो फोकस को ट्रिगर तत्व पर लौटा दें। पृष्ठभूमि सामग्री के साथ इंटरेक्शन को रोकने के लिएinertविशेषता का उपयोग करें:

function Modal({ isOpen, onClose, children }) {
  const closeRef = useRef();
  const previousFocus = useRef();

  useEffect(() => {
    if (isOpen) {
      previousFocus.current = document.activeElement;
      closeRef.current?.focus();
    } else {
      previousFocus.current?.focus();
    }
  }, [isOpen]);

  if (!isOpen) return null;

  return (
    <div role="dialog" aria-modal="true">
      <button ref={closeRef} onClick={onClose}
        aria-label="Close dialog">X</button>
      {children}
    </div>
  );
}

कीबोर्ड नेविगेशन

सभी इंटरैक्टिव तत्व कीबोर्ड पहुंच योग्य होने चाहिए। ड्रॉपडाउन मेनू, टैब और कैरोसेल जैसे कस्टम घटकों को कीबोर्ड इंटरैक्शन के लिए WAI-ARIA डिज़ाइन पैटर्न का पालन करना चाहिए।

कलर कंट्रास्ट और विज़ुअल डिज़ाइन

सुनिश्चित करें कि टेक्स्ट WCAG 2.1 कंट्रास्ट अनुपात को पूरा करता है: सामान्य टेक्स्ट के लिए 4.5:1, बड़े टेक्स्ट के लिए 3:1। जानकारी संप्रेषित करने के लिए केवल रंग पर निर्भर न रहें - पूरक संकेतक के रूप में आइकन, टेक्स्ट लेबल या पैटर्न का उपयोग करें।

रिस्पॉन्सिव डिज़ाइन रणनीतियाँ

आधुनिक रिस्पॉन्सिव डिज़ाइन ब्रेकप्वाइंट से परे है। एक तरल डिज़ाइन दृष्टिकोण का उपयोग करें जो सभी स्क्रीन आकारों में आसानी से अनुकूल हो।

द्रव टाइपोग्राफी

न्यूनतम और अधिकतम आकारों के बीच सुचारू रूप से स्केल करने वाली टाइपोग्राफी बनाने के लिएclamp()का उपयोग करें:

h1 {
  font-size: clamp(1.75rem, 4vw, 3rem);
  line-height: 1.2;
}

p {
  font-size: clamp(0.9rem, 1.5vw, 1.125rem);
  line-height: 1.6;
}

रिस्पॉन्सिव स्पेसिंग

रिक्ति और लेआउट के लिए समान द्रव सिद्धांत लागू करें:

.section {
  padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem);
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(1rem, 2vw, 2rem);
}

डार्क मोड कार्यान्वयन

डार्क मोड के लिए रंगों को उलटने से अधिक की आवश्यकता होती है। एक अलग रंग पैलेट डिज़ाइन करें जो उचित कंट्रास्ट और दृश्य पदानुक्रम बनाए रखता है:

:root {
  --bg-primary: #ffffff;
  --bg-secondary: #f1f5f9;
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --border-color: #e2e8f0;
}

[data-theme='dark'] {
  --bg-primary: #0f172a;
  --bg-secondary: #1e293b;
  --text-primary: #f1f5f9;
  --text-secondary: #94a3b8;
  --border-color: #334155;
}

अपने यूआई को प्रतिक्रियाशील बनाए रखने के लिए इन सीएसएस प्रदर्शन तकनीकों को लागू करें।

CSS कन्टेनमेंट

containप्रॉपर्टी ब्राउज़र को बताती है कि एक तत्व की सामग्री शेष पृष्ठ से स्वतंत्र है, जो रेंडरिंग अनुकूलन को सक्षम करती है:

.card {
  contain: layout style paint;
}

.sidebar {
  contain: layout size style;
}

विल-चेंज प्रॉपर्टी

will-changeका उपयोग करें आगामी एनिमेशन के बारे में ब्राउज़र को संकेत देने के लिए। इसे संयम से लागू करें - अधिक उपयोग से मेमोरी की खपत बढ़ सकती है:

.animated-element {
  will-change: transform, opacity;
}

/* Remove after animation completes */
.animated-element.done {
  will-change: auto;
}

सामग्री दृश्यता

कई अनुभागों वाले लंबे पृष्ठों के लिए,content-visibility: autoब्राउज़र को ऑफ-स्क्रीन सामग्री को पूरी तरह से प्रस्तुत करने से रोकने की अनुमति देता है:

.blog-post-section {
  content-visibility: auto;
  contain-intrinsic-size: 0 500px;
}

निष्कर्ष

बिल्डिंग आश्चर्यजनक वेब इंटरफेस एक कला है जो उपयोगकर्ताओं के लिए दृश्य डिजाइन, तकनीकी कौशल और सहानुभूति का मिश्रण है। आधुनिक सीएसएस शक्तिशाली लेआउट सिस्टम, तरल डिज़ाइन तकनीक और प्रदर्शन अनुकूलन प्रदान करता है। React का घटक मॉडल शैलियों, व्यवहार और पहुंच को पुन: प्रयोज्य बिल्डिंग ब्लॉकों में समाहित करना आसान बनाता है। इन प्रौद्योगिकियों को विचारशील एनीमेशन, मजबूत पहुंच प्रथाओं और एक अच्छी तरह से संरचित डिजाइन प्रणाली के साथ जोड़कर, आप ऐसे इंटरफेस बना सकते हैं जो न केवल सुंदर हैं बल्कि तेज, सुलभ और रखरखाव योग्य भी हैं। डिज़ाइन टोकन और लेआउट प्रिमिटिव की एक ठोस नींव, अन्तरक्रियाशीलता और एनीमेशन में परत, उपकरणों और सहायक प्रौद्योगिकियों में परीक्षण और वास्तविक उपयोगकर्ता प्रतिक्रिया के आधार पर पुनरावृति के साथ शुरू करें।