Materialize CSS এর Grid System ওয়েব ডিজাইনে একটি অত্যন্ত গুরুত্বপূর্ণ এবং শক্তিশালী ফিচার। এটি responsive (প্রতিক্রিয়াশীল) ডিজাইন তৈরি করতে সাহায্য করে, যার মাধ্যমে আপনার ওয়েবসাইট বা অ্যাপ্লিকেশনটি বিভিন্ন স্ক্রীনে (মোবাইল, ট্যাবলেট, ডেস্কটপ) সঠিকভাবে উপস্থাপিত হয়। Materialize এর গ্রিড সিস্টেম খুবই সহজ এবং ব্যবহারবান্ধব, যা দিয়ে আপনি দ্রুত সুন্দর লেআউট তৈরি করতে পারেন।
Materialize এর Grid System এর মৌলিক ধারণা
Materialize CSS এর গ্রিড সিস্টেম 12-কলাম ভিত্তিক। এর মানে হলো, আপনি আপনার কনটেন্টকে ১২টি কলামে ভাগ করতে পারেন, এবং এগুলো বিভিন্ন সাইজে পুনঃব্যবহারযোগ্য হয়। Grid system এর মূল উপাদান হলো container, row, এবং column।
- Container:
এটি ওয়েবপেজের মূল কন্টেইনার, যা সব কনটেন্ট ধারণ করে। Materialize তে দুটি ধরনের কন্টেইনার ব্যবহৃত হয়:- .container: একটি স্থির প্রস্থের কন্টেইনার, যা একটি নির্দিষ্ট প্রস্থের মধ্যে কনটেন্ট দেখায়।
- .container-fluid: এটি পূর্ণ প্রস্থের কন্টেইনার, যা ব্রাউজারের প্রস্থের সঙ্গে পুরোপুরি মিলিয়ে কাজ করে।
- Row:
Row হলো এক ধরনের horizontal group যেখানে একাধিক columns রাখা হয়। এটি সাধারণত কন্টেইনারের ভিতরে থাকে এবং কনটেন্টের প্রতিটি অংশ একে অপরের পাশে রাখে। - Column:
Column হলো সেই এলিমেন্ট যা কনটেন্ট ধারণ করে। আপনি প্রতিটি column এর প্রস্থ নির্ধারণ করতে পারেন, যেমন একটি column ১২টি অংশে বিভক্ত করা যায়, যার মাধ্যমে কনটেন্টকে বিভিন্ন আকারে সাজানো সম্ভব হয়।
Materialize Grid System এর বৈশিষ্ট্য
- 12-Column Grid:
Materialize CSS এর গ্রিড সিস্টেমে ১২টি কলাম থাকে, যার মাধ্যমে আপনি বিভিন্ন আকারের কনটেন্ট এলিমেন্ট সাজাতে পারেন। প্রতিটি কলামের আকার সামঞ্জস্য করা সম্ভব এবং এটি রেসপন্সিভ ডিজাইন তৈরি করার জন্য একটি শক্তিশালী টুল। - Responsive:
Grid system স্বয়ংক্রিয়ভাবে বিভিন্ন স্ক্রীন সাইজের সাথে মানিয়ে নেয়, যেমন মোবাইল, ট্যাবলেট, এবং ডেস্কটপ। আপনি সহজেই ব্রেকপয়েন্ট ব্যবহার করে এই গ্রিড সিস্টেমের কলামগুলোকে ভেঙে এবং পুনঃব্যবহার করতে পারেন। - Offset:
Materialize CSS offset ফিচার প্রদান করে, যা কলামগুলোর অবস্থান সামান্য পরিবর্তন করতে সাহায্য করে। এটি ডিফল্ট গ্রিড সিস্টেমে কলামের মধ্যে ফাঁক তৈরি করতে ব্যবহৃত হয়। - Column Sizing:
Materialize তে কলামের আকার নির্ধারণ করা খুবই সহজ। আপনি একটি কলামকে সম্পূর্ণ ১২টি অংশে বা আরও ছোট ভাগে ভাগ করতে পারেন। উদাহরণস্বরূপ, আপনি একটি কলামকে 4 অংশ (col s4) এবং একটি অন্য কলামকে 8 অংশ (col s8) দিতে পারেন। - Mobile-First Approach:
Materialize CSS একটি mobile-first ফ্রেমওয়ার্ক, যার মানে হলো গ্রিড সিস্টেমটি ছোট স্ক্রীনের জন্য প্রথমে ডিজাইন করা হয়, এবং তারপর বড় স্ক্রীনে পরিবর্তিত হয়। এর মাধ্যমে মোবাইল ডিভাইসে সুন্দরভাবে কাজ করার জন্য ওয়েবসাইটটি আগে থেকেই তৈরি থাকে।
Materialize Grid System এর উদাহরণ
নিচে একটি সাধারণ Grid System এর উদাহরণ দেয়া হলো যেখানে 3টি কলাম ব্যবহার করা হয়েছে:
<div class="container">
<div class="row">
<div class="col s12 m6 l4">
<p>কলাম ১</p>
</div>
<div class="col s12 m6 l4">
<p>কলাম ২</p>
</div>
<div class="col s12 m6 l4">
<p>কলাম ৩</p>
</div>
</div>
</div>
এখানে:
- s12: মোবাইল ডিভাইসে এটি পূর্ণ প্রস্থে (১২ কলাম) প্রদর্শিত হবে।
- m6: ট্যাবলেট ডিভাইসে এটি ৬টি কলামে (অর্থাৎ, অর্ধেক প্রস্থ) প্রদর্শিত হবে।
- l4: ডেস্কটপে এটি ৪টি কলামে (অর্থাৎ, ১/৩ প্রস্থ) প্রদর্শিত হবে।
Materialize Grid System এর উপকারিতা
- দ্রুত লেআউট তৈরি:
Grid system এর মাধ্যমে আপনি সহজেই বিভিন্ন ধরনের লেআউট তৈরি করতে পারেন। কলাম ও রো ব্যবহার করে কনটেন্ট খুব দ্রুত সাজানো যায়। - প্রতিক্রিয়াশীল ডিজাইন:
Materialize CSS এর গ্রিড সিস্টেম সহজে বিভিন্ন স্ক্রীনে ওয়েবসাইটের কনটেন্ট রেসপন্সিভভাবে প্রদর্শন করে, যা মোবাইল, ট্যাবলেট এবং ডেস্কটপ ব্যবহারকারীদের জন্য উপযুক্ত। - সহজ কাস্টমাইজেশন:
Grid system এর মাধ্যমে কনটেন্টের আকার এবং অবস্থান সহজে কাস্টমাইজ করা যায়। এটি ব্যবহারকারীদের জন্য একটি অত্যন্ত নমনীয় টুল।
Materialize CSS এর গ্রিড সিস্টেম একটি শক্তিশালী এবং ব্যবহারবান্ধব উপায়, যা ওয়েবসাইট বা অ্যাপ্লিকেশনকে responsive এবং সুন্দরভাবে সাজাতে সহায়তা করে। এর মাধ্যমে আপনি খুব সহজেই বিভিন্ন স্ক্রীন সাইজে ওয়েব পেজের কনটেন্ট উপস্থাপন করতে পারেন, যা ডিজাইনারদের কাজকে অনেক সহজ করে তোলে।
Materialize CSS এর Grid System হলো এর সবচেয়ে শক্তিশালী এবং গুরুত্বপূর্ণ বৈশিষ্ট্যগুলোর একটি, যা responsive design তৈরিতে গুরুত্বপূর্ণ ভূমিকা পালন করে। এটি ব্যবহারকারীদের বিভিন্ন স্ক্রীন সাইজে (মোবাইল, ট্যাবলেট, ডেস্কটপ) ওয়েবসাইটের কনটেন্ট সুন্দরভাবে প্রদর্শন করতে সহায়তা করে। Materialize এর grid system এর মাধ্যমে ওয়েব ডিজাইন অনেক বেশি সুশৃঙ্খল এবং ইউজার-বান্ধব হয়ে ওঠে।
Materialize Grid System এর মৌলিক উপাদান
Materialize এর grid system একটি 12-column ভিত্তিক সিস্টেম। এর মানে হলো, ওয়েব পেজের পুরো প্রস্থকে ১২টি সমান ভাগে ভাগ করা হয়, এবং আপনি এই ভাগগুলোর মাধ্যমে কনটেন্ট লেআউট তৈরি করতে পারেন। এর মাধ্যমে আপনি সুনির্দিষ্ট ও সহজভাবে বিভিন্ন কনটেন্ট এলিমেন্টকে সাজাতে পারেন।
Materialize এর grid system এর কিছু গুরুত্বপূর্ণ উপাদান:
- Columns: Grid system এর মধ্যে columns হচ্ছে গুরুত্বপূর্ণ এলিমেন্ট। একটি column হলো গ্রিডের একটি নির্দিষ্ট অংশ যেখানে কনটেন্ট রাখা যায়। Materialize এ প্রতিটি column সর্বোচ্চ ১২ ভাগে ভাগ করা থাকে। আপনি প্রয়োজন অনুসারে এই কলামগুলোকে এক বা একাধিক অংশে বিভক্ত করতে পারেন।
- Rows: Rows grid এর মধ্যে একটি স্তর, যা বিভিন্ন column গুলিকে একসাথে সাজাতে সহায়তা করে। এটি প্রতিটি column এর জন্য একটি horizontal container হিসেবে কাজ করে।
- Containers: Containers হলো একটি কন্টেইনার যা rows এবং columns এর মধ্যে ব্যবহৃত হয়। এটি কনটেন্টের একটি সীমানা তৈরি করে, যা ওয়েব পেজের কেন্দ্রে বা নির্দিষ্ট স্থানে কনটেন্টের গঠন বজায় রাখতে সহায়তা করে।
Breakpoints: Materialize এর grid system responsive এবং ডিভাইসের স্ক্রীন সাইজ অনুযায়ী স্বয়ংক্রিয়ভাবে পরিবর্তিত হয়। এর মধ্যে বেশ কয়েকটি breakpoints রয়েছে, যেমন:
- xs (extra small devices, মোবাইল)
- sm (small devices, ট্যাবলেট)
- md (medium devices, ডেস্কটপ)
- lg (large devices, বড় স্ক্রীন)
এগুলোর মাধ্যমে আপনি কনটেন্টকে বিভিন্ন স্ক্রীন সাইজ অনুযায়ী উপস্থাপন করতে পারবেন।
Materialize Grid System এর ভূমিকা
- Responsive Design: Materialize এর grid system এর সবচেয়ে বড় ভূমিকা হলো ওয়েবসাইটের responsive ডিজাইন তৈরি করা। এর মাধ্যমে আপনি সহজেই ওয়েবসাইটের কনটেন্ট বিভিন্ন স্ক্রীন সাইজে সুন্দরভাবে উপস্থাপন করতে পারবেন। এটি ওয়েব পেজকে মোবাইল, ট্যাবলেট, এবং ডেস্কটপে অটোমেটিক্যালি অ্যাডজাস্ট করে, যা একে একটি mobile-first ডিজাইন তৈরি করতে সহায়তা করে।
- Flexibility: Materialize এর grid system ব্যবহারকারীদের কনটেন্ট সাজাতে অনেক flexibility প্রদান করে। আপনি সহজেই একটি বা একাধিক columns ব্যবহার করে কনটেন্টের লেআউট তৈরি করতে পারেন। এটি খুবই সুবিধাজনক যখন আপনি বিভিন্ন ধরনের কনটেন্ট (টেক্সট, ইমেজ, ফর্ম, ইত্যাদি) একাধিক কলামে উপস্থাপন করতে চান।
- Quick Layout Creation: Materialize CSS এর grid system দিয়ে খুব দ্রুত এবং সহজে লেআউট তৈরি করা যায়। এর 12-column system এবং প্রি-ডিফাইন্ড row ও column ক্লাস ব্যবহার করে, ওয়েব পেজের লেআউট খুব দ্রুত ডিজাইন করা সম্ভব।
- Consistency: Grid system নিশ্চিত করে যে ওয়েবসাইটের লেআউটটি সব স্ক্রীন সাইজে সঙ্গতিপূর্ণ ও সুশৃঙ্খলভাবে প্রদর্শিত হবে। এর মাধ্যমে কোনো ধরনের ডিজাইন সমস্যা বা উপাদান অ্যালাইনমেন্টের সমস্যা হবে না। সমস্ত কনটেন্ট একটি নির্দিষ্ট কাঠামোতে প্রদর্শিত হয়, যা ব্যবহারকারীদের জন্য আরও সুবিধাজনক।
- Customization: Materialize grid system খুবই কাস্টমাইজযোগ্য। আপনি সহজেই কনটেন্টের প্রস্থ, কলামের সংখ্যা এবং সাইজ কাস্টমাইজ করে আপনার প্রয়োজন অনুযায়ী ওয়েবসাইটের ডিজাইন তৈরি করতে পারেন। এটি ডিজাইনারদের জন্য খুবই কার্যকরী, কারণ তারা তাদের পছন্দমতো লেআউট তৈরি করতে পারে।
- Cross-device Compatibility: Materialize grid system নিশ্চিত করে যে আপনার ওয়েবসাইটের কনটেন্ট সমস্ত ডিভাইসে সঠিকভাবে প্রদর্শিত হবে। ছোট স্ক্রীন থেকে বড় স্ক্রীন পর্যন্ত, Materialize এর grid system সহজেই সবার জন্য উপযুক্ত।
উপসংহার
Materialize Grid System ওয়েবসাইট ডিজাইনে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এটি responsive ওয়েবসাইট তৈরি করতে সহায়তা করে। এর ১২ কলামের সিস্টেম, ব্রেকপয়েন্ট এবং কাস্টমাইজেশন সুবিধাগুলোর মাধ্যমে আপনি সহজে এবং দ্রুত সুন্দর, সুশৃঙ্খল এবং ইউজার-বান্ধব লেআউট তৈরি করতে পারেন। এটি ওয়েব ডেভেলপমেন্ট প্রক্রিয়াকে অনেক সহজ এবং দ্রুত করে তোলে, এবং এটি ডিজাইনারদের জন্য একটি অত্যন্ত কার্যকরী টুল হিসেবে কাজ করে।
Materialize CSS এর Grid System একটি অত্যন্ত শক্তিশালী এবং সহজে ব্যবহৃত সিস্টেম, যা ওয়েবসাইটের কনটেন্টের লেআউটকে সঠিকভাবে সাজাতে সাহায্য করে। এর মাধ্যমে বিভিন্ন স্ক্রীন সাইজে ওয়েবসাইটের কনটেন্ট সুন্দরভাবে প্রদর্শিত হয়। 12-column grid এর মাধ্যমে আপনি সহজেই কনটেন্টকে বিভিন্ন আকারে ভাগ করতে পারেন, যা সারা বিশ্বের ওয়েব ডেভেলপারদের কাছে এটি অত্যন্ত জনপ্রিয় একটি ফিচার বানিয়েছে।
১২-কোলাম গ্রিড সিস্টেম
Materialize CSS এর গ্রিড সিস্টেম 12-column grid ভিত্তিক। এর মানে হলো যে ওয়েব পেজের লেআউট মোট ১২টি কলামে বিভক্ত থাকে, এবং আপনি এই ১২টি কলাম ব্যবহার করে আপনার কনটেন্টটি উপযুক্তভাবে সাজাতে পারেন। আপনি যেকোনো কনটেন্টের জন্য এই ১২টি কলামকে ভাগ করে দিতে পারেন যেমন একক কলাম, দুই কলাম, তিন কলাম ইত্যাদি। এটি responsive design নিশ্চিত করে, যাতে ওয়েবসাইট বিভিন্ন ডিভাইসে সুন্দরভাবে প্রদর্শিত হয়।
Grid System এর মৌলিক গঠন
- Container:
Grid সিস্টেমের ভিতরে একটি container থাকবে, যা কনটেন্টের সীমানা নির্ধারণ করবে। এটি মূলত দুই ধরনের হতে পারে:.container: যেটি একটি সীমিত প্রস্থের কনটেইনার তৈরি করে।.container-fluid: যেটি পুরো স্ক্রীন প্রস্থে কনটেন্ট প্রদর্শন করে।
Row:
Row হলো গ্রিডের একেকটি সারি (horizontal row), যেখানে কলামগুলো রাখা হয়।
উদাহরণ:<div class="row"> <!-- Column content goes here --> </div>- Column:
Column হলো সঠিক প্রস্থের উপাদান যা সারির ভিতরে রাখা হয়। আপনি গ্রিডের ১২টি কলাম থেকে যেকোনো সংখ্যক কলাম ব্যবহার করতে পারেন, এবং সেই অনুযায়ী কনটেন্ট ভাগ করতে পারবেন।
কোলাম সাইজ
Materialize CSS ১২টি কলামের সিস্টেম ব্যবহার করে, এবং আপনি প্রতিটি কলামের সাইজকে ফ্লেক্সিবলি কাস্টমাইজ করতে পারবেন। কোলামের আকার ১ থেকে ১২ পর্যন্ত হতে পারে। উদাহরণস্বরূপ:
- 12 কলাম পূর্ণ ব্যবহার: যদি আপনি একটি উপাদান পুরো পৃষ্ঠার প্রস্থের মধ্যে প্রদর্শন করতে চান, তাহলে সেটি ১২টি কলাম নেয়।
- ১ থেকে ৬ কলাম ব্যবহার: আপনি চাইলে একটি উপাদান ৩টি, ৪টি বা ৬টি কলাম নিয়ে ব্যবহার করতে পারেন।
উদাহরণ: ১২-কোলাম গ্রিড সিস্টেমের ব্যবহার
এখানে একটি সাধারণ উদাহরণ দেখানো হচ্ছে, যেখানে ১২টি কলামের মধ্যে কনটেন্ট ভাগ করা হয়েছে:
<div class="container">
<div class="row">
<div class="col s12 m6 l4">Column 1</div>
<div class="col s12 m6 l4">Column 2</div>
<div class="col s12 m6 l4">Column 3</div>
</div>
</div>
এই উদাহরণে:
s12অর্থ হলো small screen (যেমন মোবাইল ডিভাইস) এর জন্য পুরো ১২টি কলাম ব্যবহার করা হবে।m6অর্থ হলো medium screen (যেমন ট্যাবলেট) এর জন্য ৬টি কলাম ব্যবহার হবে।l4অর্থ হলো large screen (যেমন ডেস্কটপ) এর জন্য ৪টি কলাম ব্যবহার হবে।
Grid System এর Responsive ব্যবহার
Materialize CSS এর গ্রিড সিস্টেম mobile-first পদ্ধতি অনুসরণ করে, যার মানে হলো আপনি ছোট স্ক্রীনের জন্য ডিফল্ট কলাম সাইজ দিতে পারেন এবং বড় স্ক্রীনের জন্য বিভিন্ন সাইজ সেট করতে পারেন। উদাহরণস্বরূপ:
<div class="container">
<div class="row">
<div class="col s12 m6 l3">Column 1</div>
<div class="col s12 m6 l3">Column 2</div>
<div class="col s12 m6 l3">Column 3</div>
<div class="col s12 m6 l3">Column 4</div>
</div>
</div>
এখানে:
- ছোট স্ক্রীনে (মোবাইল) প্রতিটি কলাম পুরো ১২টি কলাম নেয় (অর্থাৎ ১টি কলাম সম্পূর্ণ রূপে নেয়),
- মিডিয়াম স্ক্রীনে (ট্যাবলেট) প্রতিটি কলাম ৬টি কলাম নেয়,
- বড় স্ক্রীনে (ডেস্কটপ) প্রতিটি কলাম ৩টি কলাম নেয়।
উপসংহার
Materialize CSS এর ১২-কোলাম গ্রিড সিস্টেম ওয়েব ডিজাইনে খুবই কার্যকরী এবং সহজে ব্যবহারযোগ্য। এর মাধ্যমে আপনি যেকোনো ধরনের ওয়েবসাইটের লেআউট তৈরি করতে পারবেন এবং ওয়েবসাইটটি মোবাইল, ট্যাবলেট, ডেস্কটপ—সব ধরনের ডিভাইসে সুন্দরভাবে প্রদর্শিত হবে। এটি responsive design নিশ্চিত করার মাধ্যমে আপনার ওয়েবসাইটের ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।
Materialize CSS এর একটি শক্তিশালী বৈশিষ্ট্য হলো এর responsive grid system, যা ওয়েবসাইট বা ওয়েব অ্যাপ্লিকেশনের কনটেন্ট বিভিন্ন স্ক্রীন সাইজে সুন্দরভাবে প্রদর্শন করতে সহায়ক। Materialize CSS এর গ্রিড সিস্টেমটি 12-column grid এর উপর ভিত্তি করে কাজ করে, এবং এটি mobile-first পদ্ধতিতে ডিজাইন করা হয়। এর মানে হল, প্রথমে মোবাইল ডিভাইসের জন্য ডিজাইন করা হয় এবং তারপর স্ক্রীনের আকারের উপর ভিত্তি করে কনটেন্ট অ্যাডজাস্ট করা হয়।
Materialize Grid System এর কাঠামো
Materialize CSS এর গ্রিড সিস্টেমে ১২টি কলাম থাকে, এবং এই কলামগুলির মাধ্যমে আপনি আপনার কনটেন্টের লেআউট তৈরি করতে পারেন। এছাড়া Materialize CSS row এবং column (col) এর মাধ্যমে গ্রিড তৈরি করে।
- Row: একটি রো হলো কনটেন্টের একটি অনুভূমিক সারি, যা কলামগুলোকে ধারণ করে।
- Column (col): কলাম হলো ওয়েবপেজের একটি ভেরটিক্যাল ইউনিট, যেটি row এর মধ্যে অবস্থান করে।
Responsive Grid তৈরি করার ধাপ
- Basic Structure: Materialize CSS এর গ্রিড সিস্টেমে একটি row এর মধ্যে আপনি এক বা একাধিক column রাখতে পারেন। প্রত্যেকটি column নির্দিষ্ট সাইজে পূর্ণ থাকে এবং স্ক্রীনের সাইজ পরিবর্তন হলে কলামগুলো স্বয়ংক্রিয়ভাবে অ্যাডজাস্ট হয়ে যায়।
- Column Sizing: Materialize CSS কলামগুলির জন্য xs (extra small), sm (small), md (medium), lg (large), এবং xl (extra large) সাইজের ক্লাস প্রদান করে। এগুলোর মাধ্যমে আপনি নির্ধারণ করতে পারেন কোন কলাম কবে এবং কীভাবে স্ক্রীনের সাইজ অনুযায়ী প্রদর্শিত হবে।
Responsive Grid Example
এখানে একটি সহজ উদাহরণ দেয়া হলো, যেখানে আমরা Materialize CSS এর grid system ব্যবহার করে একটি responsive layout তৈরি করব।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Responsive Grid Example</title>
<!-- Materialize CSS Link -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" rel="stylesheet">
</head>
<body>
<!-- Row for creating grid layout -->
<div class="container">
<div class="row">
<!-- First Column: takes 12 columns on small screens, 6 columns on medium screens -->
<div class="col s12 m6">
<div class="card">
<div class="card-content">
<span class="card-title">Column 1</span>
<p>This is the first column content.</p>
</div>
</div>
</div>
<!-- Second Column: takes 12 columns on small screens, 6 columns on medium screens -->
<div class="col s12 m6">
<div class="card">
<div class="card-content">
<span class="card-title">Column 2</span>
<p>This is the second column content.</p>
</div>
</div>
</div>
<!-- Third Column: takes 12 columns on small screens, 4 columns on medium screens -->
<div class="col s12 m4">
<div class="card">
<div class="card-content">
<span class="card-title">Column 3</span>
<p>This is the third column content.</p>
</div>
</div>
</div>
<!-- Fourth Column: takes 12 columns on small screens, 4 columns on medium screens -->
<div class="col s12 m4">
<div class="card">
<div class="card-content">
<span class="card-title">Column 4</span>
<p>This is the fourth column content.</p>
</div>
</div>
</div>
<!-- Fifth Column: takes 12 columns on small screens, 4 columns on medium screens -->
<div class="col s12 m4">
<div class="card">
<div class="card-content">
<span class="card-title">Column 5</span>
<p>This is the fifth column content.</p>
</div>
</div>
</div>
</div>
</div>
<!-- Materialize JS Link -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
কোড ব্যাখ্যা:
<div class="container">: কন্টেন্টটি একটি কনটেইনারে রাখা হয়েছে যাতে এটি ওয়েবপেজের মাঝখানে সঠিকভাবে প্রদর্শিত হয়।<div class="row">: এটি একক রো তৈরি করে, যেখানে কলামগুলো থাকবে।<div class="col s12 m6">: এখানেcolক্লাসের মাধ্যমে কলামের সাইজ নির্ধারণ করা হয়েছে।s12(extra small screen) এর মানে হলো ছোট স্ক্রীনে এই কলামটি ১২টি কলাম নেবে, আরm6(medium screen) এর মানে হলো মধ্যম স্ক্রীনে এটি ৬টি কলাম নেবে।card: এটি Materialize এর একটি প্রস্তুত উপাদান, যা কনটেন্ট সুন্দরভাবে প্রদর্শন করতে ব্যবহৃত হয়।
Responsive Layout এর সুবিধা
- Mobile-first Design: Materialize এর গ্রিড সিস্টেম মোবাইল ডিভাইসের জন্য প্রথমে ডিজাইন করা হয়, তারপর বড় স্ক্রীনে এটি স্বয়ংক্রিয়ভাবে অ্যাডজাস্ট হয়ে যায়।
- Flexible Layout: আপনি বিভিন্ন সাইজের কলাম ব্যবহার করে লেআউট কাস্টমাইজ করতে পারেন, যা বিভিন্ন স্ক্রীন সাইজে সুন্দরভাবে উপস্থাপিত হয়।
- Ease of Use: Materialize এর গ্রিড সিস্টেম খুবই সহজ এবং সোজা, যা আপনাকে দ্রুত এবং কার্যকরী ওয়েবসাইট তৈরি করতে সাহায্য করে।
এভাবে, Materialize CSS এর responsive grid সিস্টেম ব্যবহার করে আপনি আপনার ওয়েবসাইট বা অ্যাপ্লিকেশনকে বিভিন্ন স্ক্রীন সাইজে সুন্দরভাবে উপস্থাপন করতে পারেন।
Materialize CSS এর grid system একটি শক্তিশালী টুল, যা ওয়েবসাইট বা ওয়েব অ্যাপ্লিকেশনের কনটেন্টকে বিভিন্ন স্ক্রীন সাইজে সুন্দরভাবে উপস্থাপন করতে সহায়ক। এটি responsive design তৈরিতে ব্যবহৃত হয়, যেখানে breakpoints এবং offsets ব্যবহার করে কনটেন্টকে সাজানো যায়। এখানে breakpoints এবং offset এর ব্যবহার নিয়ে বিস্তারিত আলোচনা করা হবে।
Grid System কি?
Materialize CSS এর grid system ১২-কোলামের (12-column) ভিত্তিতে কাজ করে। এটি rows এবং columns এর মাধ্যমে কনটেন্টের সঠিক বিন্যাস তৈরি করতে সাহায্য করে। Columns বিভিন্ন সাইজের হতে পারে এবং rows এর মধ্যে অবস্থান করতে পারে।
এটি খুব সহজেই responsive ওয়েবসাইট তৈরিতে সহায়তা করে, যাতে ওয়েবসাইটটি মোবাইল, ট্যাবলেট, ডেস্কটপ সহ বিভিন্ন ডিভাইসে সুন্দরভাবে উপস্থাপিত হয়।
Breakpoints কি?
Breakpoints হলো নির্দিষ্ট ডিভাইস বা স্ক্রীন সাইজের জন্য ডিজাইন পরিবর্তন করার জন্য নির্ধারিত সীমা। Materialize CSS এ ৪টি প্রধান breakpoints রয়েছে:
- xs (extra small): ০px - ৪৭৯px (মোবাইল)
- sm (small): ৪৮০px - ৭৬৭px (ট্যাবলেট)
- md (medium): ৭৬৮px - ৯৫১px (ডেস্কটপ)
- lg (large): ৯৫২px এবং তার বেশি (বড় ডেস্কটপ)
আপনি এই breakpoints ব্যবহার করে নির্দিষ্ট ডিভাইস সাইজে আপনার কনটেন্টের প্রস্থ এবং বিন্যাস (layout) পরিবর্তন করতে পারেন।
Breakpoints এর ব্যবহার
Materialize CSS এ grid system ব্যবহার করতে হলে, আপনি বিভিন্ন breakpoints ব্যবহার করতে পারেন যাতে আপনার ওয়েবসাইট বা অ্যাপ্লিকেশন বিভিন্ন স্ক্রীন সাইজে ঠিকভাবে দেখায়। নিচে কিছু উদাহরণ দেওয়া হলো:
<div class="row">
<div class="col s12 m6 l4">
<p>This column takes 12 columns on small screens, 6 on medium screens, and 4 on large screens.</p>
</div>
<div class="col s12 m6 l4">
<p>This column takes 12 columns on small screens, 6 on medium screens, and 4 on large screens.</p>
</div>
<div class="col s12 m6 l4">
<p>This column takes 12 columns on small screens, 6 on medium screens, and 4 on large screens.</p>
</div>
</div>
- s12: মোবাইল ডিভাইসে পুরো ১২ কলাম নিবে (যতটুকু স্পেস থাকবে)
- m6: ট্যাবলেট ডিভাইসে ৬ কলাম নিবে
- l4: বড় স্ক্রীনে ৪ কলাম নিবে
এভাবে আপনি আপনার কনটেন্টের সাইজ বিভিন্ন স্ক্রীন সাইজ অনুযায়ী কাস্টমাইজ করতে পারেন।
Offset কি?
Offset হলো একটি কলামের জন্য স্থান সরানোর (shift) উপায়। এটি কলামগুলোর মধ্যে স্পেস তৈরি করতে এবং কনটেন্ট সঠিকভাবে সাজাতে সহায়ক। Offset এর মাধ্যমে আপনি কলামের অবস্থান পরিবর্তন করতে পারেন।
Offset এর ব্যবহার
আপনি যদি চান একটি কলাম নির্দিষ্ট পরিমাণ জায়গা শিফট করুক, তাহলে আপনি offset ক্লাস ব্যবহার করতে পারেন। col offset-X এই ফরম্যাটে X হলো আপনি কতটা স্থান শিফট করতে চান, যেখানে X হবে ১ থেকে ১১ এর মধ্যে কোন সংখ্যার মান। নিচে একটি উদাহরণ দেওয়া হলো:
<div class="row">
<div class="col s12 m6 offset-m3">
<p>This column will be centered on medium screens, with a 3-column offset.</p>
</div>
</div>
এখানে, offset-m3 ব্যবহার করা হয়েছে, যা ট্যাবলেট স্ক্রীনে কলামটিকে ৩টি কলাম সরে রেখে সেন্টার অবস্থানে এনে দেবে।
Breakpoints এবং Offset এর সমন্বয়
আপনি breakpoints এবং offsets একত্রে ব্যবহার করে আরো উন্নত ওয়েব ডিজাইন করতে পারেন। উদাহরণস্বরূপ, যদি আপনি চান যে কোনো কলাম মোবাইলে পুরো প্রস্থ নেবে, তবে বড় স্ক্রীনে সেটি শিফট হয়ে মাঝখানে অবস্থান করবে, তাহলে আপনি এমনভাবে offset এবং breakpoints ব্যবহার করতে পারেন:
<div class="row">
<div class="col s12 m6 offset-m3 l4 offset-l4">
<p>This column takes full width on small screens, 6 columns on medium screens with an offset of 3, and 4 columns on large screens with an offset of 4.</p>
</div>
</div>
এখানে:
- s12: মোবাইলে পুরো ১২ কলাম নিবে।
- m6 offset-m3: ট্যাবলেট স্ক্রীনে ৬ কলাম নিবে এবং ৩ কলাম স্থান শিফট করবে।
- l4 offset-l4: বড় স্ক্রীনে ৪ কলাম নিবে এবং ৪ কলাম স্থান শিফট করবে।
উপসংহার
Materialize CSS এর grid system এর মাধ্যমে আপনি সহজেই responsive design তৈরি করতে পারেন। Breakpoints এবং offset এর মাধ্যমে আপনি ওয়েবসাইটের কনটেন্টকে বিভিন্ন স্ক্রীন সাইজ অনুযায়ী কাস্টমাইজ করতে পারবেন। Breakpoints ওয়েবসাইটের ডিজাইনকে বিভিন্ন ডিভাইসে সুন্দরভাবে উপস্থাপন করতে সাহায্য করে, আর offset ব্যবহার করে আপনি কনটেন্টের অবস্থান এবং সাজানো পদ্ধতিতে পরিবর্তন আনতে পারেন।
Read more