শপ চালু

আমরা ওয়েবসাইট, AI এজেন্ট ও LLM প্রশিক্ষণের জন্য Workstation AI মেশিন তৈরি করি — অনলাইনে কনফিগার করে কিনুন।

ট্রেড মূল্য পান
AI পণ্য
এআই ল্যাবসOpenAI এজেন্টClaude এজেন্টGrok BotWorkstation AI নেটিভ CRMমার্কেটিংসব পণ্য
AI সমাধান
প্রয়োগকৃত AIAI এজেন্টজেনারেটিভ AIAI স্বয়ংক্রিয়করণAI দক্ষতা বৃদ্ধিএসএমইর জন্য AI প্যাকেজএন্টারপ্রাইজ AI ল্যাবAI ওয়ার্কস্টেশনNVIDIA হার্ডওয়্যার ও সফটওয়্যারNVIDIA অ্যাক্সিলারেটেড কম্পিউটিংপ্রাইভেট AIGPU ক্লাস্টারএজ AIশিল্প অনুযায়ী AI
AI সেবাসমূহ
প্ল্যাটফর্ম আধুনিকীকরণডিজিটাল ইঞ্জিনিয়ারিংডেটা ভিত্তি ও AIস্বায়ত্ত পরিচালনাএআই পরামর্শDevOps অটোমেশনসাইবার নিরাপত্তাসফটওয়্যার ডেভেলপমেন্টএজেন্ট নির্মাণMLOps সেটআপGPU লিজিং
আমাদের সম্পর্কে
কোম্পানিআমাদের গল্পঅংশীদারগ্রাহকদের গল্প
এআই ডেটা সেন্টার
AI অন্তর্দৃষ্টিJev সিরিজবেঞ্চমার্ক ল্যাবমডেল নির্বাচন
প্রযুক্তিগত নোট
ডকুমেন্টেশন
Linux OSUbuntuRed Hat Enterprise LinuxSUSE LinuxAlpine LinuxDebian, Rocky & AlmaLinux
AI ক্লাউড প্ল্যাটফর্মAWS & Amazon BedrockGoogle Cloud & Vertex AIMicrosoft Azure & AI FoundryGPU ক্লাউড ও মার্কেটপ্লেস
প্রাইভেট AI ডেটা সেন্টারআইন সংস্থার জন্যঅ্যাকাউন্টিং ফার্মের জন্যঅন-প্রিমিসেস প্ল্যাটফর্মসম্পূর্ণ সুরক্ষিত ক্লাউড
সরঞ্জামRing PromoterJobshout
খবর
ব্লগ
যোগাযোগ করুনসাইন ইন

আধুনিক ব্যবসার জন্য AI ওয়ার্কস্টেশন, AI মাল্টি-এজেন্টিক সফটওয়্যার, GPU অবকাঠামো এবং বুদ্ধিমান এজেন্ট সমাধান।

যোগাযোগ করুন

AI সমাধান

প্রয়োগকৃত AIAI এজেন্টজেনারেটিভ AIAI স্বয়ংক্রিয়করণAI দক্ষতা বৃদ্ধিএসএমইর জন্য AI প্যাকেজএন্টারপ্রাইজ AI ল্যাবশিল্প অনুযায়ী AI

পণ্য

সব পণ্যWorkstation AI native CRM ও ERPমার্কেটিংOpenAI এজেন্টRing PromoterJobshout

কোম্পানি

আমাদের সম্পর্কেকোম্পানিএআই ডেটা সেন্টারকেন Workstationঅংশীদারগ্রাহকদের গল্পমূল্যযোগাযোগTenthMatrix

রিসোর্স

AI অন্তর্দৃষ্টিপ্রযুক্তিগত নোটডকুমেন্টেশনLinux OSAI ক্লাউড প্ল্যাটফর্মপ্রাইভেট AI ডেটা সেন্টারব্লগঅনুসন্ধানসাইটম্যাপ
যুক্তরাজ্য অফিস
77-79 Marlowes, Hemel Hempstead HP1 1LFদিকনির্দেশ - M25 আউটার লন্ডন থেকে জংশন ২০ নিনকোম্পানি নং: 11641870সোম - শুক্র: সকাল ৯:০০ - সন্ধ্যা ৬:০০ GMT
+44 7515 356 146
বেলজিয়াম অফিস
Workstation SRL, Rue Vanderkindere 34, 1180 Uccle, BrusselsBE 0751.518.683সোম - শুক্র: সকাল ৯:০০ - সন্ধ্যা ৬:০০ CET
+32 492 45 67 46
ভারত অফিস
#159 Sector 9, Pocket 1, DDA Flats, 110077 Dwarka, New Delhi
+91 98881 98841

© 2026 Workstation AI। সর্বস্বত্ব সংরক্ষিত।

গোপনীয়তাডেটা মুছে ফেলাকুকিপরিষেবার শর্তাবলিওয়েবসাইট সাইটম্যাপ

NVIDIA, the NVIDIA logo, RTX, RTX PRO, Blackwell, CUDA, NVLink, MGX, Omniverse, Spectrum-X, Quantum, BlueField, DGX and HGX are trademarks and/or registered trademarks of NVIDIA Corporation in the US and other countries. AMD, the AMD Arrow logo, EPYC, Instinct, Ryzen and Threadripper are trademarks of Advanced Micro Devices, Inc. Dell and PowerEdge are trademarks of Dell Inc. or its subsidiaries. Intel and Xeon are trademarks of Intel Corporation or its subsidiaries. AMAX, AceleMax and LiquidMax are trademarks of AMAX Engineering Corporation. All other product names, logos and brands are the property of their respective owners. We use them only to identify the products we describe, supply or support; their use does not mean their owners endorse us.

Loading blog...

হোম / ব্লগ
TechAIOpsapi

React এবং আধুনিক CSS সহ অত্যাশ্চর্য ওয়েব ইন্টারফেস তৈরি করা

React এবং আধুনিক CSS

Balinder Walia১৯ মে, ২০২৫9 min read
38

ওয়েবটি স্থির পৃষ্ঠাগুলির বাইরেও বিবর্তিত হয়েছে৷ ব্যবহারকারীরা এমন ইন্টারফেস আশা করে যা দৃশ্যত অত্যাশ্চর্য, মসৃণ এবং সবার কাছে অ্যাক্সেসযোগ্য। React, আধুনিক CSS কৌশলগুলির সাথে মিলিত, ডেভেলপারদের সেই প্রত্যাশা পূরণ করার জন্য সরঞ্জাম দেয়। এই নির্দেশিকা ফাউন্ডেশনাল লেআউট সিস্টেম থেকে শুরু করে উন্নত অ্যানিমেশন এবং ডিজাইন সিস্টেম আর্কিটেকচার পর্যন্ত সবকিছুই কভার করে।

আধুনিক সিএসএস লেআউট: গ্রিড এবং ফ্লেক্সবক্স

React কম্পোনেন্ট আর্কিটেকচারXTAG15

XTAG17 অ্যাপTAG19শিরোনাম — নেভিগেশন, লোগো, অনুসন্ধান, ব্যবহারকারী মেনুসাইডবারনেভিগেশন লিঙ্কগুলিফিল্টারগুলিবিভাগগুলি3 5 3 5 3 প্রধান বিষয়বস্তুকার্ডকার্ডফর্ম উপাদানTAG55XTAG5 XTAG5 XTAG5 XTAG5 XTAG5 XTAG5 X52 XTAG5 X5X5 XTAGX5 সাবমিটকার্ডরাজ্য & ডেটা ফ্লোপ্রপস ↓ডেটা প্রবাহিত হয়পিতামাতার থেকেশিশু উপাদানগুলিতেস্টেট লিফটিং ↑ঘটনাগুলি কলব্যাকশিশুথেকে অভিভাবকের কাছেপ্রসঙ্গট্রি জুড়ে শেয়ার করা হয়েছে

CSS গ্রিড এবং plexillabox দুটি আধুনিক। প্রতিক্রিয়াশীল ইন্টারফেস তৈরির জন্য প্রতিটি কখন ব্যবহার করতে হবে তা বোঝা অপরিহার্য।

দ্বি-মাত্রিক লেআউটের জন্য 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; }

ফ্লেক্সবক্স হল এক-মাত্রিক লেআউটের জন্য

.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; }

ফ্লেক্সবক্স F9TAG8X-এর জন্য নিম্ন-মাত্রিক লেআউটের জন্য কম্পোনেন্ট-লেভেল লেআউট — নেভিগেশন বার, কার্ড সারি, ফর্ম লেআউট এবং যেকোন বিষয়বস্তু যা একক দিকে প্রবাহিত হয়:

.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>
  );
}

Tailwind CSS

Tailwind CSS ইউটিলিটি ক্লাসগুলি প্রদান করে যা আপনাকে সরাসরি 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 লাইব্রেরিগুলিকে সরাসরি XPRSX লিখতে এবং আপনার সম্পূর্ণ XPRSS লাইব্রেরিগুলিতে অ্যাক্সেস করার অনুমতি দেয়। রাষ্ট্র শক্তিশালী থাকাকালীন, তারা রানটাইম ওভারহেড যোগ করে এবং সার্ভার-রেন্ডার করা অ্যাপ্লিকেশনগুলির জন্য ক্রমবর্ধমানভাবে সুবিধার বাইরে চলে যাচ্ছে:

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-in-JS-এর উপরে CSS মডিউল বা Tailwind CSS সুপারিশ করা হয়।

স্টোরিবুক দিয়ে একটি ডিজাইন সিস্টেম তৈরি করা

আধুনিক ইউআই স্ট্যাক

টেকনোলজি স্ট্যাক 59

ডিজাইন

ডিজাইন
টোকেন, টাইপোগ্রাফি, কালার প্যালেট, স্পেসিং স্কেল, ব্র্যান্ড নির্দেশিকাকম্পোনেন্ট লাইব্রেরিবোতাম, কার্ড, মডেল, ফর্ম, টেবিল — গল্পের বই X9TAG16me1XTAG01XTAG1এ নথিভুক্ত ইঞ্জিনCSS কাস্টম প্রোপার্টি, ডার্ক/লাইট মোড, ডাইনামিক থিমিংরেসপন্সিভ লেআউটগ্রিড, ফ্লেক্সবক্স, কন্টেইনার কোয়েরি, ক্ল্যাম্পের সাথে ফ্লুইড টাইপোগ্রাফি XXTAG11617 অ্যাক্সেসযোগ্যতা XXTAG17 স্তরARIA ভূমিকা, কীবোর্ড নেভিগেশন, ফোকাস ম্যানেজমেন্ট, কনট্রাস্ট অনুপাত5432 XTAG1818X 2 XTAG1828Xপ্রতিটি স্তর নীচের একটিতে তৈরি করে — অ্যাক্সেসিবিলিটি হল ভিত্তিউচ্চতর বিমূর্ততা →

স্টোরিবুক UI উপাদানগুলির বিকাশ এবং নথিভুক্ত করার জন্য একটি বিচ্ছিন্ন পরিবেশ প্রদান করে৷ এটি একটি ডেভেলপমেন্ট টুল এবং একটি লিভিং স্টাইল নির্দেশিকা উভয়ই কাজ করে:

// 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-শুধুমাত্র মাইক্রো-ইন্টার্যাকশনগুলি

প্রতিটি অ্যানিমেশনের প্রয়োজন নেই৷ 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;
}

React-এ, একটি প্রসঙ্গ প্রদানকারীর সাথে থিমটি পরিচালনা করুন এবং স্থানীয় স্টোরেজ-এ ব্যবহারকারীর পছন্দ বজায় রাখুন:

function ThemeProvider({ children }) {
  const [theme, setTheme] = useState(() => {
    if (typeof window === 'undefined') return 'light';
    return localStorage.getItem('theme') ||
      (window.matchMedia('(prefers-color-scheme: dark)').matches
        ? 'dark' : 'light');
  });

  useEffect(() => {
    document.documentElement.setAttribute('data-theme', theme);
    localStorage.setItem('theme', theme);
  }, [theme]);

  return (
    <ThemeContext.Provider value={{ theme, setTheme }}>
      {children}
    </ThemeContext.Provider>
  );
}

পারফরম্যান্স অপ্টিমাইজেশান

function ThemeProvider({ children }) {
  const [theme, setTheme] = useState(() => {
    if (typeof window === 'undefined') return 'light';
    return localStorage.getItem('theme') ||
      (window.matchMedia('(prefers-color-scheme: dark)').matches
        ? 'dark' : 'light');
  });

  useEffect(() => {
    document.documentElement.setAttribute('data-theme', theme);
    localStorage.setItem('theme', theme);
  }, [theme]);

  return (
    <ThemeContext.Provider value={{ theme, setTheme }}>
      {children}
    </ThemeContext.Provider>
  );
}

পারফরম্যান্স অপ্টিমাইজেশন

এছাড়াও দ্রুত হতে হবে। আপনার UI প্রতিক্রিয়াশীল রাখতে এই CSS কর্মক্ষমতা কৌশলগুলি প্রয়োগ করুন।

CSS কন্টেনমেন্ট

containপ্রপার্টি ব্রাউজারকে বলে যে একটি উপাদানের বিষয়বস্তু পৃষ্ঠার বাকি অংশ থেকে স্বাধীন, রেন্ডারিং অপ্টিমাইজেশান সক্ষম করে:

.card {
  contain: layout style paint;
}

.sidebar {
  contain: layout size style;
}

XTAG2626will-changeপ্রপার্টি ব্যবহার করবে XTAG26TAG26X26XXX প্রপার্টি ব্যবহার করবে আসন্ন অ্যানিমেশন সম্পর্কে ব্রাউজারে ইঙ্গিত। অল্প পরিমাণে এটি প্রয়োগ করুন — অতিরিক্ত ব্যবহার মেমরি খরচ বাড়াতে পারে:

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

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

সামগ্রীর দৃশ্যমানতা

অনেকগুলি বিভাগ সহ দীর্ঘ পৃষ্ঠাগুলির জন্য,content-visibility: autoব্রাউজারটিকে সম্পূর্ণরূপে অফ-স্ক্রীন সামগ্রী রেন্ডারিং এড়িয়ে যেতে দেয়: XTAG27477X7X77X

অত্যাশ্চর্য ওয়েব ইন্টারফেস তৈরি করা একটি শিল্প যা ভিজ্যুয়াল ডিজাইন, প্রযুক্তিগত দক্ষতা, এবং ব্যবহারকারীদের জন্য সহানুভূতি মিশ্রিত করে। আধুনিক CSS শক্তিশালী লেআউট সিস্টেম, তরল ডিজাইন কৌশল এবং কর্মক্ষমতা অপ্টিমাইজেশন প্রদান করে। React এর উপাদান মডেলটি পুনরায় ব্যবহারযোগ্য বিল্ডিং ব্লকগুলিতে শৈলী, আচরণ এবং অ্যাক্সেসযোগ্যতাকে এনক্যাপসুলেট করা সহজ করে তোলে। চিন্তাশীল অ্যানিমেশন, শক্তিশালী অ্যাক্সেসিবিলিটি অনুশীলন এবং একটি সুগঠিত ডিজাইন সিস্টেমের সাথে এই প্রযুক্তিগুলিকে একত্রিত করে, আপনি এমন ইন্টারফেস তৈরি করতে পারেন যেগুলি শুধুমাত্র সুন্দর নয়, দ্রুত, অ্যাক্সেসযোগ্য এবং রক্ষণাবেক্ষণযোগ্য। ডিজাইন টোকেন এবং লেআউট আদিমগুলির একটি শক্ত ভিত্তি দিয়ে শুরু করুন, ইন্টারঅ্যাকটিভিটি এবং অ্যানিমেশনের স্তর, ডিভাইস এবং সহায়ক প্রযুক্তিগুলি জুড়ে পরীক্ষা করুন এবং প্রকৃত ব্যবহারকারীর প্রতিক্রিয়ার ভিত্তিতে পুনরাবৃত্তি করুন৷