Foundation ফ্রেমওয়ার্কে Advanced Grid এবং Flexbox Layout দুটি গুরুত্বপূর্ণ টুল যা ডেভেলপারদের আধুনিক এবং রেসপনসিভ লেআউট তৈরি করতে সহায়তা করে। Grid System এবং Flexbox উভয়ই ওয়েব ডিজাইনকে আরও ফ্লেক্সিবল এবং কার্যকরী করে তোলে। Foundation এই দুটি লেআউট টেকনিককে একত্রিত করে একটি শক্তিশালী এবং কাস্টমাইজযোগ্য সিস্টেম প্রদান করে।
Advanced Grid System in Foundation
Foundation এর Advanced Grid System ফ্লেক্সিবল এবং রেসপনসিভ ওয়েব ডিজাইন তৈরি করতে সহায়তা করে। এটি ১২-কোলাম (12-column) সিস্টেমে কাজ করে এবং বিভিন্ন স্ক্রীন সাইজে কনটেন্টকে স্বয়ংক্রিয়ভাবে অ্যাডজাস্ট করে।
১. Grid Columns and Offsets
Foundation এর গ্রিড সিস্টেমের মূল বৈশিষ্ট্য হল এটি ১২টি কলামের সিস্টেম ব্যবহার করে। আপনি আপনার কনটেন্টকে এগুলি দিয়ে সাজাতে পারেন, এবং offset ক্লাসের মাধ্যমে কলামগুলির মধ্যে স্থান (spacing) তৈরি করতে পারেন।
<div class="row">
<div class="small-6 medium-4 large-3 columns">
<p>কলাম ১</p>
</div>
<div class="small-6 medium-4 large-3 columns offset-by-2">
<p>কলাম ২ (offseted)</p>
</div>
</div>
এখানে:
small-6: মোবাইল স্ক্রীনে ৬টি কলাম (অর্ধেক প্রস্থ)।medium-4: মিডিয়াম স্ক্রীনে ৪টি কলাম (এক তৃতীয়াংশ প্রস্থ)।offset-by-2: কলামের শুরুর স্থান থেকে ২টি কলাম শিফট করা হয়েছে।
২. Nesting Grid
Foundation এ আপনি একটি কলামের মধ্যে আরও একটি গ্রিড (বা কলাম) রাখতে পারেন, যা নেস্টিং নামে পরিচিত। এটি জটিল লেআউট তৈরি করতে সহায়তা করে।
<div class="row">
<div class="small-12 medium-6 columns">
<p>প্রধান কলাম</p>
<div class="row">
<div class="small-6 columns">
<p>নেস্টেড কলাম ১</p>
</div>
<div class="small-6 columns">
<p>নেস্টেড কলাম ২</p>
</div>
</div>
</div>
</div>
এখানে:
- প্রধান কলামের মধ্যে আরও একটি
rowএবং তার মধ্যে দুইটিcolumnsরাখা হয়েছে।
৩. Responsive Grid Breakpoints
Foundation এর গ্রিড সিস্টেম মোবাইল-ফার্স্ট ডিজাইন প্রক্রিয়া অনুসরণ করে, অর্থাৎ এটি প্রথমে মোবাইল স্ক্রীনের জন্য ডিজাইন করা হয় এবং পরে মিডিয়াম ও বড় স্ক্রীনের জন্য অ্যাডজাস্ট করা হয়।
Foundation এ সাধারণত ৪টি ব্রেকপয়েন্ট থাকে:
- small (মোবাইল)
- medium (ট্যাবলেট)
- large (ডেস্কটপ)
- xlarge (বড় স্ক্রীন)
<div class="row">
<div class="small-12 medium-6 large-4 columns">
<p>প্রথম কলাম</p>
</div>
<div class="small-12 medium-6 large-4 columns">
<p>দ্বিতীয় কলাম</p>
</div>
<div class="small-12 medium-6 large-4 columns">
<p>তৃতীয় কলাম</p>
</div>
</div>
এখানে:
small-12: মোবাইল স্ক্রীনে সম্পূর্ণ প্রস্থ।medium-6: মিডিয়াম স্ক্রীনে অর্ধেক প্রস্থ।large-4: বড় স্ক্রীনে এক তৃতীয়াংশ প্রস্থ।
Flexbox Layout Techniques in Foundation
Flexbox হল একটি CSS লেআউট মডেল যা উপাদানগুলিকে সহজভাবে সাজানোর জন্য ব্যবহৃত হয়। Foundation এ Flexbox এর শক্তিশালী সমর্থন রয়েছে, যা ডেভেলপারদের জন্য আরও কাস্টমাইজযোগ্য এবং আধুনিক ওয়েব লেআউট তৈরিতে সহায়তা করে।
১. Flexbox Container
Flexbox ব্যবহার করতে হলে, প্রথমে একটি কনটেইনারের মধ্যে display: flex; সেট করতে হয়। এই কনটেইনারের ভিতরের উপাদানগুলি স্বয়ংক্রিয়ভাবে এক সারিতে সজ্জিত হয়ে যাবে।
<div class="d-flex">
<div class="flex-item">Item 1</div>
<div class="flex-item">Item 2</div>
<div class="flex-item">Item 3</div>
</div>
২. Align Items (Centering Elements)
Flexbox-এর সাহায্যে আপনি সহজেই উপাদানগুলো center, start, বা end এ সজ্জিত করতে পারেন। এটি ব্যবহৃত হয় justify-content এবং align-items প্রপার্টি দিয়ে।
<div class="d-flex justify-center align-center">
<div class="flex-item">Centered Item</div>
</div>
এখানে:
justify-center: উপাদানগুলোকে অনুভূমিকভাবে কেন্দ্রিত করে।align-center: উপাদানগুলোকে উল্লম্বভাবে কেন্দ্রিত করে।
৩. Flex Direction (Row / Column)
Flexbox দিয়ে আপনি উপাদানগুলির অবস্থান পরিবর্তন করতে পারেন, যেমন row (অক্সিভিটি অনুসারে এক সারিতে উপাদান সাজানো) অথবা column (কলামে উপাদান সাজানো)।
<div class="d-flex flex-column">
<div class="flex-item">Item 1</div>
<div class="flex-item">Item 2</div>
<div class="flex-item">Item 3</div>
</div>
এখানে:
flex-column: উপাদানগুলোকে উল্লম্বভাবে সাজানো হবে।
৪. Flex Wrap (Multiple Lines)
যখন একটি কনটেইনারে উপাদানগুলো খুব বড় হয় এবং তারা কনটেইনারের বাইরে চলে যায়, তখন Flexbox এ wrap প্রয়োগ করা যায়, যার মাধ্যমে উপাদানগুলো স্বয়ংক্রিয়ভাবে নতুন লাইনে চলে যাবে।
<div class="d-flex flex-wrap">
<div class="flex-item">Item 1</div>
<div class="flex-item">Item 2</div>
<div class="flex-item">Item 3</div>
<div class="flex-item">Item 4</div>
</div>
এখানে:
flex-wrap: উপাদানগুলোকে একাধিক লাইনে ভাগ করে।
৫. Flex Grow, Shrink, and Basis
Flexbox ব্যবহার করে উপাদানগুলির আকার পরিবর্তন করা যেতে পারে। flex-grow, flex-shrink, এবং flex-basis প্রপার্টি দিয়ে এগুলির আকার নিয়ন্ত্রণ করা যায়।
<div class="d-flex">
<div class="flex-item" style="flex-grow: 1;">Item 1</div>
<div class="flex-item" style="flex-grow: 2;">Item 2</div>
</div>
এখানে:
flex-grow: উপাদানটির আকার বৃদ্ধি পাবে যদি কনটেইনারে আরও জায়গা থাকে।
Foundation এর Advanced Grid System এবং Flexbox Layout Techniques একত্রে আধুনিক এবং রেসপনসিভ ওয়েব ডিজাইন তৈরি করতে অত্যন্ত কার্যকরী। Foundation এর গ্রিড সিস্টেমে সহজেই 12-কোলাম সিস্টেম এবং ব্রেকপয়েন্টস ব্যবহার করা যায়, যা বিভিন্ন স্ক্রীন সাইজে ওয়েবসাইটটি সুন্দরভাবে প্রদর্শিত হতে সাহায্য করে। একইভাবে, Flexbox ওয়েব ডিজাইনের জন্য আরও কাস্টমাইজেবল এবং ফ্লেক্সিবল লেআউট তৈরিতে সহায়তা করে, যা আধুনিক ওয়েবসাইটের জন্য অপরিহার্য। Foundation এই দুটি টেকনিক একত্রে ব্যবহার করার মাধ্যমে আরও উন্নত এবং ইন্টারঅ্যাকটিভ ডিজাইন তৈরি করতে সাহায্য করে।
Read more