Skip to content
CSS Grid প্লেগ্রাউন্ড
Tools

CSS Grid প্লেগ্রাউন্ড

নতুন

লাইভ প্রিভিউ ও CSS সহ গ্রিড কলাম, gap ও অ্যালাইনমেন্ট সমন্বয় করুন।

Layout
Columns 3
Rows 3

Identical neighbouring tracks collapse into repeat() automatically.

Spacing & alignment
Preview

Runs entirely in your browser. Nothing is uploaded.

একটি ইন্টারেক্টিভ CSS গ্রিড জেনারেটর ও প্লেগ্রাউন্ড

এই CSS গ্রিড জেনারেটর বিমূর্ত গ্রিড সিনট্যাক্সকে এমন কিছুতে পরিণত করে যা আপনি দেখতে ও টেনে নিতে পারেন। আপনার কলাম ও সারি সেট করুন, লাইভ প্রিভিউকে পুনর্বিন্যস্ত হতে দেখুন, এবং ঠিকঠাক দেখালে পরিষ্কার CSS, Tailwind বা HTML কপি করুন। কিছু ইনস্টল করার নেই এবং কোনো অ্যাকাউন্ট তৈরির নেই — পুরো CSS গ্রিড প্লেগ্রাউন্ড আপনার ব্রাউজারে চলে, তাই আপনি যেসব লেআউট তৈরি করেন তা কখনও আপলোড হয় না।

আপনি গ্রিড কীভাবে কাজ করে তা শিখছেন, একটি ড্যাশবোর্ড প্রোটোটাইপ করছেন, বা প্লেইন CSS হিসেবে একটি ১২-কলাম ফ্রেমওয়ার্ক পুনরায় তৈরি করছেন যা-ই হোক না কেন, আপনি এটি এখানে সেকেন্ডেই করতে পারেন। আইটেম-স্তরের এডিটিং ছাড়া শুধু CSS আউটপুট করা Layoutit-এর বিপরীতে, বা Tailwind বা শেয়ারযোগ্য লিংক ছাড়া Sarah Drasner-এর মিনিমাল CSS Grid Generator-এর বিপরীতে, UtiloKit একই ইন্টারফেসে তিনটি আউটপুট ফরম্যাট এবং নামযুক্ত এরিয়া সাপোর্ট একত্রিত করে।

আপনার ট্র্যাক সেট করুন: কলাম, সারি এবং একক

একটি গ্রিড তার ট্র্যাক দ্বারা সংজ্ঞায়িত। Tracks ট্যাবে আপনার প্রয়োজন অনুযায়ী কলাম ও সারি যোগ করুন এবং প্রতিটির জন্য একটি একক বেছে নিন: নমনীয় ভগ্নাংশের জন্য fr, নির্দিষ্ট আকারের জন্য px বা %, কনটেন্টে ফিট করতে auto, বা একটি ন্যূনতম ও সর্বোচ্চের মধ্যে ফ্লেক্স করা ট্র্যাকের জন্য minmax()। অভিন্ন প্রতিবেশী ট্র্যাকগুলো স্বয়ংক্রিয়ভাবে repeat() দিয়ে সংক্ষিপ্ত হয়, তাই তিনটি সমান কলাম 1fr 1fr 1fr-এর বদলে ঝরঝরে repeat(3, 1fr) হয়ে যায়।

কলাম ১২-এ সেট করুন আর আপনার কাছে একটি ক্লাসিক Bootstrap-স্টাইল ফ্রেমওয়ার্ক গ্রিড থাকবে প্লেইন CSS হিসেবে। দুই কলাম ও দুই সারি সেট করুন একটি দ্রুত 2x2 লেআউটের জন্য। grid-template-columns এবং grid-template-rows আউটপুট প্রতিটি পরিবর্তনের সাথে আপডেট হয়, তাই আপনি সবসময় আপনার লেআউট তৈরি করা সঠিক কোড দেখতে পান।

auto-fit এবং minmax() দিয়ে রেসপনসিভ করুন

রেসপনসিভ CSS গ্রিড জেনারেটর মোড আপনার জন্য আধুনিক, মিডিয়া-কোয়েরি-মুক্ত প্যাটার্ন লেখে: repeat(auto-fit, minmax(200px, 1fr))auto-fit বা auto-fill বেছে নিন, ন্যূনতম সেল প্রস্থ সেট করুন, এবং আপনি রিসাইজ করার সাথে সাথে প্রিভিউ পুনর্বিন্যস্ত হয় — চওড়া স্ক্রিনে কলাম যোগ করে এবং মোবাইলে একটিতে নেমে আসে। কোনো মিডিয়া কোয়েরি না লিখেই একটি ফ্লুইড কার্ড গ্রিড তৈরির এটি সবচেয়ে দ্রুত উপায় যা যেকোনো স্ক্রিন প্রস্থে কাজ করে।

গ্রিডে কন্টেইনার যত আইটেম ধরে রাখতে পারে তার চেয়ে কম আইটেম থাকলে auto-fit ও auto-fill-এর মধ্যকার পার্থক্য গুরুত্বপূর্ণ হয়ে ওঠে। auto-fit খালি ট্র্যাক ধসিয়ে দেয় যাতে পূর্ণ আইটেমগুলো জায়গা ঢাকতে প্রসারিত হয়। auto-fill খালি ট্র্যাক রাখে যাতে আইটেমগুলো তাদের ন্যূনতম আকার রাখে। এই প্লেগ্রাউন্ড আপনাকে এদের মধ্যে টগল করতে এবং প্রভাবটি লাইভ দেখতে দেয়, যা স্ট্যাটিক CSS রিসোর্স আপনাকে দেখাতে পারে না।

আইটেম টেনে বসান — বা আপনার এরিয়ার নাম দিন

Tracks মোডে প্রিভিউ ইন্টারেক্টিভ: সেলগুলো জুড়ে টেনে নিন যাতে একটি আইটেম বসে যা সেগুলো জুড়ে বিস্তৃত হয়, একটি আইটেম নির্বাচন করতে ক্লিক করুন, এবং আইটেম প্যানেলে এর grid-columngrid-row শুরু ও স্প্যান মান সূক্ষ্মভাবে ঠিক করুন। এটি স্প্যানিং কীভাবে কাজ করে তা বোঝার দ্রুততম উপায় — ডকুমেন্টেশন পড়ার চেয়ে দ্রুত, CodePen পরীক্ষার চেয়ে দ্রুত।

পাঠযোগ্য পদ্ধতি পছন্দ করেন? Areas ট্যাব grid-template-areas ব্যবহার করে — আপনার লেআউট নামযুক্ত সারি হিসেবে স্কেচ করুন যেমন 'header header' 'sidebar main', আর জেনারেটরটি টেমপ্লেট প্লাস আপনার নাম দেওয়া প্রতিটি অঞ্চলের জন্য একটি grid-area নিয়ম তৈরি করে। হেডার, সাইডবার, মেইন এবং ফুটারসহ পেজ শেলের জন্য নিখুঁত। Layoutit-এ একই রকম এরিয়া এডিটর আছে কিন্তু এরিয়া-ভিত্তিক লেআউটের জন্য Tailwind আউটপুট তৈরি করে না।

CSS, Tailwind বা HTML কপি করুন — এবং একটি লিংক দিয়ে শেয়ার করুন

প্রতিটি লেআউট তিন উপায়ে এক্সপোর্ট হয়। CSS ট্যাব কন্টেইনার নিয়ম প্লাস প্রতি-আইটেম নিয়ম দেয়। Tailwind CSS গ্রিড জেনারেটর ট্যাব সমতুল্য ইউটিলিটি ক্লাস লেখে — grid grid-cols-3 gap-4, col-span-2, এবং কাস্টম ট্র্যাকের জন্য arbitrary মান। HTML ট্যাব রেডি-টু-পেস্ট মার্কআপ দেয়। একটি শেয়ারযোগ্য লিংক পুরো কনফিগারেশনকে URL-এ এনকোড করে, তাই একজন সহকর্মী ঠিক একই গ্রিড খোলে — কোনো অ্যাকাউন্ট নেই, এক্সপোর্ট নেই, স্ক্রিনশটের দরকার নেই।

ফ্রি, প্রাইভেট এবং তাৎক্ষণিক — আপলোড নেই, অ্যাকাউন্ট নেই

সাইনআপের জন্য কিছু নেই এবং ডাউনলোড করার কিছু নেই। ট্র্যাক তৈরি, আইটেম টেনে নেওয়া, রেসপনসিভ auto-fit-এ সুইচ করা, এবং কোড এক্সপোর্ট করা — সবকিছুই স্থানীয়ভাবে আপনার ব্রাউজারে ঘটে, তাই আপনার কাজ কখনও আপনার ডিভাইস ছেড়ে যায় না। Figma-র মতো ওয়েব-ভিত্তিক ডিজাইন টুলের বিপরীতে যার অ্যাকাউন্ট প্রয়োজন এবং আপনার কাজ তাদের সার্ভারে সংরক্ষণ করে, এই CSS গ্রিড প্লেগ্রাউন্ড সম্পূর্ণভাবে প্রাইভেট। এই গ্রিড লেআউট জেনারেটর বুকমার্ক করুন এবং যখনই একটি CSS গ্রিড তৈরি, শেখা বা কপি করার দরকার হয় তখন ব্যবহার করুন — যেকোনো ডিভাইসে, আইফোন ও অ্যান্ড্রয়েড সহ।

CSS গ্রিড বনাম ফ্লেক্সবক্স: সঠিক টুল বেছে নেওয়া

CSS Grid মূলগতভাবে দ্বিমাত্রিক — এটি একটি একক কন্টেইনার নিয়ম থেকে একসাথে সারি ও কলাম জুড়ে আইটেম বসায়। Flexbox একমাত্রিক: এটি একবারে একটি অক্ষ বরাবর আইটেম সাজায়, হয় একটি সারি বা একটি কলাম। ক্লাসিক গাইডলাইন — "লেআউটের জন্য Grid, কম্পোনেন্টের জন্য Flexbox" — একটি উপযোগী শুরুর বিন্দু, কিন্তু ব্যবহারিক নিয়মটি হলো: একসাথে উভয় মাত্রা গুরুত্বপূর্ণ হলে Grid ব্যবহার করুন (একটি ড্যাশবোর্ড, একটি ফটো গ্যালারি, একটি পেজ শেল), এবং শুধু একটি অক্ষ নিয়ে চিন্তিত হলে Flexbox ব্যবহার করুন (একটি ন্যাভিগেশন বার, বাটনের একটি সারি, ট্যাগের একটি তালিকা)।

Grid-এর অটো-প্লেসমেন্ট অ্যালগরিদম স্বয়ংক্রিয়ভাবে পরবর্তী উপলব্ধ সেলে আইটেম ভরে দেয়, ঠিক রিডিং অর্ডারের মতো বাম-থেকে-ডান এবং ওপর-থেকে-নিচ প্রবাহিত হয়ে। grid-auto-flow: dense যোগ করুন আর ব্রাউজার ছোট আইটেম দিয়ে আগের ফাঁক ব্যাক-ফিল করে — ম্যাসনরি-স্টাইল গ্যালারির জন্য উপযোগী যেখানে আপনি কোনো নষ্ট সাদা স্থান চান না। Grid এক্সপ্লিসিট গ্রিড-এর মধ্যেও পার্থক্য করে (grid-template-columnsgrid-template-rows দিয়ে আপনি সংজ্ঞায়িত করেন এমন ট্র্যাক) এবং ইমপ্লিসিট গ্রিড (আইটেমগুলো এক্সপ্লিসিট সংজ্ঞা ছাপিয়ে গেলে ব্রাউজার স্বয়ংক্রিয়ভাবে তৈরি করে এমন অতিরিক্ত ট্র্যাক)। আপনি grid-auto-columnsgrid-auto-rows দিয়ে ইমপ্লিসিট ট্র্যাক সাইজিং নিয়ন্ত্রণ করেন।

আইটেমের সংখ্যা অজানা বা পরিবর্তনশীল হলে Flexbox জিতে যায়, কারণ এটি একটি ঘোষিত কলাম সংখ্যা ছাড়াই স্বাভাবিকভাবে র‍্যাপ ও পুনর্বিন্যস্ত হয়। একটি ট্যাগ ক্লাউড, একটি ফ্লেক্স-র‍্যাপড কার্ড তালিকা, বা রানটাইমে আইটেম উপস্থিত ও অদৃশ্য হয় এমন একটি টুলবার — সবই display: flex; flex-wrap: wrap-এর প্রাকৃতিক ফিট। দুটি সিস্টেম একসাথে কাজ করার জন্যও ডিজাইন করা: একটি CSS Grid কন্টেইনার এমন সেল ধরে রাখতে পারে যার চাইল্ডগুলো Flexbox কন্টেইনার, Grid-এর কাঠামোগত নির্ভুলতাকে Flexbox-এর আইটেম-স্তরের বণ্টনের সাথে মিলিয়ে।

নামযুক্ত গ্রিড এরিয়া: শব্দার্থগত, রক্ষণাবেক্ষণযোগ্য লেআউট

grid-template-areas প্রোপার্টি একটি CSS নিয়মের ভেতরে একটি ASCII মানচিত্র হিসেবে একটি লেআউট বর্ণনা করতে দেয়। প্রতিটি উদ্ধৃত স্ট্রিং একটি সারি, তার ভেতরের প্রতিটি শব্দ একটি সেল, এবং সংলগ্ন সেল জুড়ে একই শব্দ পুনরাবৃত্তি করলে সেগুলো একটি একক অঞ্চলে মিশে যায়। একটি ক্লাসিক পেজ শেল দেখতে এমন: "header header" "sidebar main" "footer footer"। প্রতিটি চাইল্ডকে grid-area: header, grid-area: sidebar ইত্যাদি নাম দিন, আর ব্রাউজার স্বয়ংক্রিয়ভাবে তাদের মিলিত অঞ্চলে সংযুক্ত করে দেয় — কোনো লাইন সংখ্যা নেই, কোনো span গণিত নেই।

পুরো একটি দল স্পর্শ করবে এমন লেআউটের জন্য নামযুক্ত এরিয়া সাংখ্যিক লাইন-ভিত্তিক প্লেসমেন্টের চেয়ে অনেক বেশি রক্ষণাবেক্ষণযোগ্য। একজন ডিজাইনার যখন সাইডবার ডানে সরাতে বলেন, তখন আপনি grid-template-areas-এ একটি স্ট্রিং পাল্টান আর DOM অর্ডার একদম একই থাকে — কোনো মার্কআপ পুনঃক্রম নেই, কোনো কলাম ইনডেক্স পুনর্গণনা নেই। এটি ভিজ্যুয়াল অর্ডার-কেও সোর্স অর্ডার থেকে আলাদা করে, যা অ্যাক্সেসিবিলিটির জন্য গুরুত্বপূর্ণ: স্ক্রিন রিডার DOM অনুসরণ করে, দৃষ্টিসম্পন্ন ব্যবহারকারীরা গ্রিড বিন্যাস দেখেন।

DOM পরিবর্তন ছাড়াই রেসপনসিভ রিডিজাইনের জন্য নামযুক্ত এরিয়া সবচেয়ে শক্তিশালী টুল। একটি মিডিয়া কোয়েরির ভেতরে আপনি grid-template-areas-কে সম্পূর্ণ ভিন্ন একটি লেআউট স্ট্রিং-এ পুনর্সংজ্ঞায়িত করেন — একটি তিন-কলামের ডেস্কটপ শেলকে মোবাইলের জন্য একটি একক স্ট্যাকড কলামে পরিণত করুন — আর প্রতিটি নামযুক্ত চাইল্ড কোনো JavaScript ছাড়াই নিজেকে পুনঃস্থাপন করে। একই ব্রেকপয়েন্টে grid-template-columns পরিবর্তনের সাথে মিলিয়ে, একটি একক CSS ব্লক পুরো পেজ কাঠামোকে ডেস্কটপ থেকে ট্যাবলেট থেকে ফোনে পরিবর্তিত করতে পারে।

fr একক, ইন্ট্রিনসিক সাইজিং কীওয়ার্ড, এবং RAM প্যাটার্ন

fr একক (ভগ্নাংশ) নির্দিষ্ট ও কনটেন্ট-সাইজড ট্র্যাক সমাধান হওয়ার পর অবশিষ্ট স্থান বণ্টন করে। 1fr 1fr 1fr বাকি প্রস্থকে তিনটি সমান ভাগে ভাগ করে। গুরুত্বপূর্ণভাবে, fr স্বয়ংক্রিয়ভাবে gap বিবেচনা করে — ভগ্নাংশ হিসাব করার আগে গ্যাপ বিয়োগ করা হয় — যেখানে শতাংশ প্রস্থ প্যারেন্টের মোট প্রস্থের এবং গ্যাপ উপেক্ষা করে, যা আপনি সতর্ক না থাকলে আইটেম ওভারফ্লো ঘটায়। শর্টহ্যান্ড repeat(3, 1fr) ঠিক সমতুল্য কিন্তু পুনরাবৃত্তি ছাড়াই স্কেল করে।

fr-এর বাইরে, CSS Grid তিনটি ইন্ট্রিনসিক সাইজিং কীওয়ার্ড সমর্থন করে। min-content একটি ট্র্যাককে ঠিক তার দীর্ঘতম অবিভাজ্য শব্দের মতো সরু করে — আইকন কলাম বা লেবেল ট্র্যাকের জন্য উপযোগী যা তাদের কনটেন্টকে জড়িয়ে ধরা উচিত। max-content একটি ট্র্যাককে কন্টেইনার উপেক্ষা করে তার প্রশস্ততম প্রাকৃতিক প্রস্থে বাড়তে দেয়। fit-content(value) একটি স্মার্ট ক্ল্যাম্প: এটি সরবরাহকৃত সর্বোচ্চ পর্যন্ত max-content-এর মতো আচরণ করে, তারপর বৃদ্ধি বন্ধ করে — একটি সাইডবারের জন্য উপযোগী যা তার কনটেন্টে ফিট করতে প্রসারিত হওয়া উচিত কিন্তু কখনও, বলুন, ৩০০পিক্স অতিক্রম করা উচিত নয়।

সবচেয়ে শক্তিশালী রেসপনসিভ গ্রিড কৌশল হলো RAM প্যাটার্নRepeat, Auto, Minmax: repeat(auto-fill, minmax(200px, 1fr))। কোনো মিডিয়া কোয়েরি দরকার নেই। ব্রাউজার যত ২০০পিক্স ন্যূনতম কলাম কন্টেইনার ধরতে পারে তত প্যাক করে; ৮০০পিক্স কন্টেইনারে আপনি চারটি কলাম পাবেন, ৪৮০পিক্স কন্টেইনারে দুটি, ৩০০পিক্স কন্টেইনারে একটি। auto-fill-কে auto-fit-এ সুইচ করুন আর খালি ট্র্যাক ধসে যায় যাতে পূর্ণ আইটেমগুলো সারি পূরণ করতে প্রসারিত হয়। CSS-এর এই একটি লাইন কার্ড গ্রিড, ইমেজ গ্যালারি এবং প্রোডাক্ট তালিকার জন্য একটি সাধারণ তিন-ব্রেকপয়েন্ট মিডিয়া কোয়েরি ব্লক প্রতিস্থাপন করে।

CSS Grid-এ অ্যালাইনমেন্ট: অক্ষ, প্রোপার্টি এবং place-* শর্টহ্যান্ড

CSS Grid-এর দুটি অ্যালাইনমেন্ট অক্ষ আছে। ইনলাইন অক্ষ টেক্সট প্রবাহের দিকে চলে (ইংরেজিতে বাম থেকে ডান) এবং ব্লক অক্ষ এর লম্বভাবে চলে (ওপর থেকে নিচ)। justify- দিয়ে প্রিফিক্স করা প্রোপার্টি ইনলাইন অক্ষে কাজ করে; align- দিয়ে প্রিফিক্স করা প্রোপার্টি ব্লক অক্ষে কাজ করে। এই অক্ষ পার্থক্যটাই প্রতিটি আলাদাভাবে মুখস্থ না করে ছয়টি অ্যালাইনমেন্ট প্রোপার্টি পড়ার চাবিকাঠি।

justify-items এবং align-items নিয়ন্ত্রণ করে প্রতিটি আইটেম তার নিজের সেলের মধ্যে কীভাবে অবস্থান করে। ডিফল্ট হলো stretch, যা আইটেমগুলোকে সেল পূরণ করতে বাধ্য করে — এই কারণেই গ্রিড আইটেমগুলো কোনো এক্সপ্লিসিট প্রস্থ বা উচ্চতা ছাড়াই ডিফল্টরূপে তাদের সেল ঢেকে প্রসারিত হয়। উভয়কে center-এ সেট করলে প্রতিটি আইটেম তার সেলের ভেতরে কেন্দ্রীভূত হয়। justify-content এবং align-content পুরো গ্রিড জুড়ে অতিরিক্ত স্থান বণ্টন করে, Flexbox-এর মূল অক্ষের জন্য justify-content-এর অনুরূপ — যখন মোট ট্র্যাক সাইজ কন্টেইনারের চেয়ে ছোট তখন উপযোগী। justify-self এবং align-self হলো প্রতি-আইটেম ওভাররাইড যা প্রতিবেশী আইটেমকে স্পর্শ না করে একটি স্বতন্ত্র আইটেমকে কন্টেইনারের ডিফল্ট অ্যালাইনমেন্ট থেকে বের করে আনে।

place-items, place-content এবং place-self শর্টহ্যান্ড ব্লক ও ইনলাইন মান একটি ঘোষণায় একত্রিত করে: place-items: center align-items: center; justify-items: center-এর সমতুল্য। এটি সেই সমস্যার জন্য বিখ্যাতভাবে সংক্ষিপ্ত CSS জন্ম দেয় যা একসময় টেবিল ও JavaScript প্রয়োজন করত: display: grid; place-items: center — দুই লাইন যা একটি একক চাইল্ডকে তার কন্টেইনারের ভেতরে অনুভূমিক ও উলম্ব উভয়ভাবে কেন্দ্রীভূত করে, CSS-এর ঐতিহাসিকভাবে সবচেয়ে কঠিন লেআউট সমস্যাগুলোর একটি সবচেয়ে সংক্ষিপ্ত নিয়মে সমাধান করে।

Frequently asked questions

CSS গ্রিড কীভাবে কাজ করে?

CSS গ্রিড একটি এলিমেন্টকে একটি দ্বিমাত্রিক লেআউটে পরিণত করে। আপনি কন্টেইনারে display: grid সেট করেন, grid-template-columns এবং grid-template-rows দিয়ে কলাম ও সারি ট্র্যাক সংজ্ঞায়িত করেন, এবং ব্রাউজার প্রতিটি চাইল্ডকে ফলাফল সেলে বসিয়ে দেয়। উদাহরণস্বরূপ, grid-template-columns: repeat(3, 1fr) তিনটি সমান কলাম তৈরি করে, এবং চাইল্ডরা বাম-থেকে-ডান, ওপর-থেকে-নিচ প্রবাহিত হয়। পুরনো float বা flexbox লেআউটের বিপরীতে, গ্রিড একই সময়ে সারি ও কলাম লেআউট করে, তাই আপনি একটি কন্টেইনার প্রোপার্টি থেকে উভয় অক্ষ নিয়ন্ত্রণ করেন।

CSS-এ grid প্রোপার্টি কীভাবে ব্যবহার করব?

একটি কন্টেইনারে display: grid যোগ করুন, তারপর এর ট্র্যাক বর্ণনা করুন। ন্যূনতম হলো এক লাইন: display: grid; grid-template-columns: 1fr 1fr; — যা দুটি সমান কলাম দেয়। সেখান থেকে আপনি এক্সপ্লিসিট সারির জন্য grid-template-rows, স্পেসিংয়ের জন্য gap, এবং একটি চাইল্ডকে সেল জুড়ে প্রসারিত করতে grid-column: span 2-এর মতো প্রতি-আইটেম নিয়ম যোগ করেন। shorthand grid প্রোপার্টি এক ঘোষণায় সারি, কলাম এবং এরিয়া একত্রিত করতে পারে, কিন্তু বেশিরভাগ ডেভেলপার grid-template-columns, gap এবং অ্যালাইনমেন্ট আলাদাভাবে সেট করেন কারণ এটি আরও পরিষ্কার পড়া যায়। এই জেনারেটর আপনার জন্য সেই নিয়মগুলো লেখে।

grid-template-columns এবং grid-template-rows কী?

এগুলো প্রতিটি কলাম ও সারি ট্র্যাকের আকার সংজ্ঞায়িত করে। grid-template-columns: 200px 1fr 1fr একটি নির্দিষ্ট ২০০পিক্স প্রথম কলাম এবং দুটি নমনীয় কলাম তৈরি করে যা বাকিটা ভাগ করে নেয়। grid-template-rows: auto 1fr একটি কনটেন্ট-সাইজড প্রথম সারি এবং একটি দ্বিতীয় সারি সেট করে যা অবশিষ্ট উচ্চতা পূরণ করে। তালিকার প্রতিটি মান একটি ট্র্যাক, এবং মানের সংখ্যা গ্রিডের কতটি এক্সপ্লিসিট কলাম বা সারি আছে তা সেট করে। আপনি ট্র্যাক যোগ ও সম্পাদনা করার সাথে সাথে এই জেনারেটর উভয় তালিকা তৈরি করে, লাইভ প্রিভিউ রিয়েল টাইমে আপডেট করে।

fr, repeat() এবং minmax() মানে কী?

fr হলো 'fraction' একক — এটি অবশিষ্ট স্থান ভাগ করে, তাই repeat(3, 1fr) সমান প্রস্থের তিনটি কলাম তৈরি করে। repeat(n, value) হলো শর্টহ্যান্ড যা একটি ট্র্যাক প্যাটার্ন n বার পুনরাবৃত্তি করে, তাই repeat(4, 1fr) 1fr 1fr 1fr 1fr-এর মতোই। minmax(min, max) এমন একটি ট্র্যাক সেট করে যা কখনও min-এর নিচে সঙ্কুচিত হয় না বা max-এর ওপরে বাড়ে না; minmax(150px, 1fr) একটি কলামকে অন্তত ১৫০পিক্স প্রশস্ত রাখে এবং তারপর প্রসারিত হতে দেয়। এদের একত্রিত করুন — repeat(auto-fit, minmax(150px, 1fr)) — একটি গ্রিডের জন্য যা কন্টেইনার প্রস্থ পাল্টালে নিজে থেকেই কলাম যোগ ও অপসারণ করে।

মিডিয়া কোয়েরি ছাড়া রেসপনসিভ CSS গ্রিড কীভাবে তৈরি করব?

auto-fit (বা auto-fill) এবং minmax() দিয়ে repeat() ব্যবহার করুন যাতে গ্রিড স্বয়ংক্রিয়ভাবে পুনর্বিন্যস্ত হয়: grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))। প্রতিটি কলাম অন্তত ২০০পিক্স প্রশস্ত থাকে এবং ব্রাউজার কন্টেইনার যতগুলো ধরতে দেয় তত ফিট করে, সরু স্ক্রিনে কম কলামে নেমে এবং প্রশস্ত স্ক্রিনে আরও যোগ করে। এই জেনারেটরকে Responsive মোডে সুইচ করুন, ন্যূনতম সেল প্রস্থ সেট করুন, এবং ফলাফল কপি করুন। কোনো মিডিয়া কোয়েরি না লিখেই মোবাইল থেকে ডেস্কটপ পর্যন্ত খাপ খায় এমন একটি ফ্লুইড কার্ড গ্রিড তৈরির এটি সবচেয়ে সহজ উপায়।

grid-template-areas কী?

grid-template-areas আপনাকে অঞ্চলের নাম দিতে এবং লেআউটটি ASCII আর্ট হিসেবে আঁকতে দেয়। আপনি প্রতিটি চাইল্ডকে grid-area দিয়ে একটি নাম দেন, তারপর গ্রিডটি ম্যাপ করেন যেমন grid-template-areas: 'header header' 'sidebar main' 'footer footer'। সেল জুড়ে একটি নাম পুনরাবৃত্তি করলে সেই অঞ্চলটি সেগুলো জুড়ে বিস্তৃত হয়, এবং একটি ডট (.) একটি সেল খালি রাখে। ক্লাসিক পেজ শেল — হেডার, সাইডবার, মেইন, ফুটার — তৈরির এটি সবচেয়ে পাঠযোগ্য উপায় কারণ টেমপ্লেটটি লেআউটের মতোই দেখায়। এখানকার Areas ট্যাব আপনার নাম দেওয়া প্রতিটি অঞ্চলের জন্য টেমপ্লেট ও মিলিত grid-area নিয়ম লেখে।

একটি 2x2 বা ৩-কলাম গ্রিড কীভাবে তৈরি করব?

একটি 2x2 গ্রিডের জন্য, দুটি কলাম ও দুটি সারি সেট করুন: grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; এবং চারটি আইটেম বসান। একটি ৩-কলাম গ্রিডের জন্য, grid-template-columns: repeat(3, 1fr) ব্যবহার করুন এবং প্রয়োজন অনুযায়ী আইটেমগুলোকে সারিতে প্রবাহিত হতে দিন। এই টুলে আপনি শুধু কলাম ও সারির সংখ্যা সেট করেন এবং প্রিভিউ সাথে সাথে আপডেট হয় — কোনো টাইপিং প্রয়োজন নেই। প্রতিবেশী ট্র্যাক একই আকারের হলে জেনারেটর স্বয়ংক্রিয়ভাবে repeat() শর্টহ্যান্ড সামলায়।

১২-কলাম গ্রিড কী?

১২-কলাম গ্রিড হলো Bootstrap এবং Foundation দ্বারা জনপ্রিয় একটি ডিজাইন কনভেনশন যা পেজকে বারোটি সমান কলামে ভাগ করে। বারো কাজ করে কারণ এটি অর্ধেক, তৃতীয়াংশ, চতুর্থাংশ এবং ষষ্ঠাংশে পরিষ্কারভাবে ভাগ হয়। একটি কম্পোনেন্ট যেকোনো পূর্ণসংখ্যা কলাম জুড়ে বিস্তৃত হতে পারে: অর্ধেকের জন্য ৬, তৃতীয়াংশের জন্য ৪, চতুর্থাংশের জন্য ৩। CSS গ্রিড দিয়ে আপনি এটি এক লাইনে পুনরায় তৈরি করেন: grid-template-columns: repeat(12, 1fr), এবং চাইল্ডে grid-column: span 4 ব্যবহার করে তাদের আকার দিন। এখানে কলাম ১২-এ সেট করুন কোনো Bootstrap নির্ভরতা ছাড়াই ক্লাসিক ফ্রেমওয়ার্ক গ্রিড প্লেইন CSS হিসেবে পেতে।

CSS গ্রিড এবং ফ্লেক্সবক্সের মধ্যে পার্থক্য কী?

গ্রিড দ্বিমাত্রিক — এটি একসাথে সারি ও কলাম নিয়ন্ত্রণ করে — যেখানে ফ্লেক্সবক্স একমাত্রিক, আইটেমগুলোকে একটি একক সারি বা কলাম বরাবর সাজায়। ড্যাশবোর্ড, গ্যালারি বা পেজ শেলের মতো সারিবদ্ধ সারি ও কলামসহ একটি সামগ্রিক পেজ বা কার্ড লেআউট তৈরি করার সময় গ্রিডে যান। ন্যাভবার, টুলবার বা বাটনের একটি সারির মতো একক স্ট্রিপ কনটেন্টের জন্য ফ্লেক্সবক্সে যান। এরা একসাথে ভালো কাজ করে: বাইরের পেজ কাঠামোর জন্য একটি গ্রিড, পৃথক সেলের ভেতরে ফ্লেক্সবক্স।

Tailwind CSS-এ গ্রিড কীভাবে তৈরি করব?

Tailwind গ্রিড ইউটিলিটি সরবরাহ করে: তিনটি সমান কলামের জন্য grid প্লাস grid-cols-3, স্পেসিংয়ের জন্য gap-4, এবং চাইল্ডে col-span-2 / row-span-2 যাতে তারা বিস্তৃত হয়। grid-cols-3 কম্পাইল হয় repeat(3, minmax(0, 1fr))-এ। কাস্টম কিছুর জন্য — যেমন একটি রেসপনসিভ auto-fit ট্র্যাক — একটি arbitrary মান ব্যবহার করুন: grid-cols-[repeat(auto-fit,minmax(150px,1fr))]। আউটপুটকে Tailwind ট্যাবে সুইচ করুন আর এই জেনারেটর আপনার কন্টেইনার ও প্রতিটি আইটেমের জন্য সঠিক ইউটিলিটি ক্লাস লেখে, আপনার JSX বা HTML মার্কআপে পেস্ট করার জন্য প্রস্তুত।

একটি আইটেমকে একাধিক কলাম বা সারি জুড়ে কীভাবে বিস্তৃত করব?

চাইল্ডে grid-column এবং grid-row ব্যবহার করুন। grid-column: span 2 একটি আইটেমকে দুই কলাম প্রশস্ত করে; grid-column: 1 / 3 একে লাইন ১ থেকে লাইন ৩ পর্যন্ত বসায় (একই দুই কলাম)। উলম্বভাবে grid-row: span 2 দিয়ে একই প্রযোজ্য। Tailwind-এ এটি col-span-2 এবং row-span-2। এই প্লেগ্রাউন্ডে আপনি প্রিভিউতে সেল জুড়ে টেনে একটি বিস্তৃত আইটেম তৈরি করতে পারেন, বা আইটেম প্যানেলে সঠিক শুরু ও স্প্যান মান লিখতে পারেন। CSS এবং Tailwind উভয় আউটপুট আপনি এগিয়ে যাওয়ার সাথে সাথে আপডেট হয়।

গ্রিড আইটেমের মধ্যে গ্যাপ কীভাবে সেট করব?

gap প্রোপার্টি ট্র্যাকের মধ্যে স্থান যোগ করে: gap: 16px প্রতিটি সারি ও কলামের মধ্যে ১৬পিক্স রাখে। আপনি gap: 24px 16px (আগে সারি-গ্যাপ তারপর কলাম-গ্যাপ) দিয়ে অক্ষগুলো আলাদাভাবে সেট করতে পারেন, বা সরাসরি row-gap এবং column-gap ব্যবহার করতে পারেন। gap শুধু সেলের মধ্যে স্থান প্রভাবিত করে — এটি কখনও গ্রিডের বাইরের প্রান্তের চারপাশে প্যাডিং যোগ করে না, যা একটি সাধারণ বিভ্রান্তির উৎস। এখানে row-gap ও column-gap নিয়ন্ত্রণ ব্যবহার করুন — একটি অভিন্ন গ্যাপের জন্য এদের লিংক করুন বা প্রতিটি অক্ষ স্বাধীনভাবে সূক্ষ্ম করতে আনলিংক করুন।

এই CSS গ্রিড জেনারেটর কি ফ্রি এবং Layoutit বা Sarah Drasner-এর CSS Grid Generator-এর চেয়ে ভালো?

কোনো সাইনআপ ছাড়া এবং ইনস্টল করার কিছু ছাড়াই সম্পূর্ণ ফ্রি। Layoutit Grid একটি শক্ত শুরুর বিন্দু কিন্তু কোনো Tailwind আউটপুট নেই এবং grid-area নিয়ম কপি করতে একটি আলাদা ট্যাবে ক্লিক করতে হয়। Sarah Drasner-এর CSS Grid Generator আইটেম-স্তরের নিয়ন্ত্রণ বা শেয়ারযোগ্য লিংক ছাড়া একটি মিনিমাল শিক্ষামূলক টুল। UtiloKit Tailwind CSS আউটপুট, নামযুক্ত টেমপ্লেট এরিয়া, রেসপনসিভ auto-fit মোড, শেয়ারযোগ্য লিংক, এবং একটি ইন্টারেক্টিভ ড্র্যাগ-টু-স্প্যান আইটেম এডিটর যোগ করে — সবকিছু এক জায়গায়। সবকিছু স্থানীয়ভাবে আপনার ব্রাউজারে তৈরি হয় তাই আপনার লেআউট কখনও আপলোড হয় না।

আমি কি এই CSS গ্রিড জেনারেটর আইফোন বা অ্যান্ড্রয়েডে ব্যবহার করতে পারি?

হ্যাঁ। টুলটি সম্পূর্ণ রেসপনসিভ এবং যেকোনো আধুনিক মোবাইল ব্রাউজারে কাজ করে, আইফোনে Safari এবং অ্যান্ড্রয়েডে Chrome-সহ। চলার পথে গ্রিড লেআউট তৈরি করুন, CSS বা Tailwind আউটপুট কপি করুন, এবং আপনার প্রজেক্টে পেস্ট করুন। যেহেতু সবকিছু ক্লায়েন্ট-সাইডে চলে, কোনো আপলোড নেই, অ্যাকাউন্ট নেই, এবং অপেক্ষা নেই। পেজটি একবার লোড হয়ে গেলে এটি অফলাইনেও কাজ করে। ড্র্যাগ-টু-স্প্যান আইটেম এডিটর টাচ-বান্ধব, তাই আপনি মাউস ছাড়াই জটিল গ্রিড লেআউট তৈরি করতে পারেন।