ফ্লেক্সবক্স (Flexbox) একটি শক্তিশালী CSS লেআউট মডেল যা উপাদানগুলিকে আরও কার্যকরভাবে এবং নমনীয়ভাবে সাজানোর জন্য ব্যবহৃত হয়। এটি বিশেষত রেসপন্সিভ ডিজাইন তৈরির জন্য খুবই উপকারী, কারণ এটি বিভিন্ন স্ক্রীন সাইজে উপাদানগুলিকে স্বয়ংক্রিয়ভাবে সজ্জিত ও ফিট করার সুবিধা দেয়। বুটস্ট্রাপ ৫-এ ফ্লেক্সবক্স ব্যবহারের মাধ্যমে, আপনি খুব সহজে উপাদানগুলির লেআউট এবং তাদের আচরণ কনফিগার করতে পারেন।
ফ্লেক্সবক্স ব্যবহার করে, আপনি মূলত উপাদানগুলির মধ্যে স্থান ভাগ করতে পারেন, তাদের কন্টেইনারের মধ্যে সঠিকভাবে সাজাতে পারেন, এবং তাদের মাপ পরিবর্তন করতে পারেন স্ক্রীন সাইজ অনুযায়ী।
display: flex;
: এটি কন্টেইনারের জন্য প্রধান CSS প্রপার্টি যা কন্টেইনারের সরবরাহকারী উপাদানগুলোকে ফ্লেক্স আইটেমে পরিণত করে।flex-direction
: এটি নির্দেশ করে উপাদানগুলো কিভাবে সাজানো হবে — অনুভূমিক (row) বা উল্লম্ব (column)।justify-content
: এটি কন্টেইনারের মধ্যে উপাদানগুলোকে অনুভূমিকভাবে সাজানোর জন্য ব্যবহৃত হয়।align-items
: এটি উপাদানগুলোকে উল্লম্বভাবে সজ্জিত করে।<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flexbox Responsive Design Example</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
<!-- Flexbox Container -->
<div class="d-flex flex-wrap justify-content-between">
<!-- Flexbox Item 1 -->
<div class="flex-item bg-light p-3 mb-3" style="width: 30%;">
<h5>Item 1</h5>
<p>This is the first item.</p>
</div>
<!-- Flexbox Item 2 -->
<div class="flex-item bg-light p-3 mb-3" style="width: 30%;">
<h5>Item 2</h5>
<p>This is the second item.</p>
</div>
<!-- Flexbox Item 3 -->
<div class="flex-item bg-light p-3 mb-3" style="width: 30%;">
<h5>Item 3</h5>
<p>This is the third item.</p>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js"></script>
</body>
</html>
d-flex
: এটি বুটস্ট্র্যাপ ৫-এ একটি ক্লাস যা কন্টেইনারকে ফ্লেক্স কন্টেইনারে পরিণত করে। এর মাধ্যমে আপনি ফ্লেক্সবক্স লেআউট ব্যবহার করতে পারবেন।flex-wrap
: এই ক্লাসটি উপাদানগুলোকে একাধিক লাইনে ভাঙতে সাহায্য করে। যদি স্ক্রীন ছোট হয়, তবে উপাদানগুলো নতুন লাইনে চলে যাবে।justify-content-between
: এই ক্লাসটি উপাদানগুলোর মধ্যে স্থান ভাগ করে দেয় এবং তাদেরকে কন্টেইনারের মধ্যে সমানভাবে সাজিয়ে দেয়।style="width: 30%;"
: প্রতিটি আইটেমের জন্য প্রস্থ নির্ধারণ করা হয়েছে যাতে তারা এক লাইনে ৩টি করে উপাদান রাখে।ফ্লেক্সবক্সের সবচেয়ে শক্তিশালী দিক হল, এটি খুব সহজে রেসপন্সিভ ডিজাইন তৈরি করতে সাহায্য করে। বুটস্ট্র্যাপ ৫-এর মাধ্যমে ফ্লেক্সবক্সের সাথে বিভিন্ন ব্রেকপয়েন্ট ব্যবহার করে উপাদানগুলির আচরণ কাস্টমাইজ করা যায়।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Responsive Flexbox Example</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
<!-- Flexbox Container -->
<div class="d-flex flex-wrap justify-content-between">
<!-- Flexbox Item 1 -->
<div class="flex-item bg-light p-3 mb-3 col-12 col-md-6 col-lg-4">
<h5>Item 1</h5>
<p>This is the first item.</p>
</div>
<!-- Flexbox Item 2 -->
<div class="flex-item bg-light p-3 mb-3 col-12 col-md-6 col-lg-4">
<h5>Item 2</h5>
<p>This is the second item.</p>
</div>
<!-- Flexbox Item 3 -->
<div class="flex-item bg-light p-3 mb-3 col-12 col-md-6 col-lg-4">
<h5>Item 3</h5>
<p>This is the third item.</p>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js"></script>
</body>
</html>
col-12
: ছোট স্ক্রীনে (যেমন মোবাইল) প্রতিটি আইটেম ১২টি কলাম নিয়ে পুরো লাইন জুড়ে থাকবে।col-md-6
: মিডিয়াম স্ক্রীনে (ট্যাবলেট) প্রতিটি আইটেম ৬টি কলাম নিয়ে আধা লাইন জুড়ে থাকবে।col-lg-4
: বড় স্ক্রীনে (ডেস্কটপ) প্রতিটি আইটেম ৪টি কলাম নিয়ে এক লাইনে ৩টি আইটেম সাজাবে।flex-direction
: উপাদানগুলির অর্ডার নির্ধারণ করে (row, column, row-reverse, column-reverse)।justify-content
: অনুভূমিকভাবে উপাদানগুলোকে সাজানোর জন্য।flex-start
: শুরুতে সাজানোcenter
: মাঝখানে সাজানোspace-between
: উপাদানগুলোর মাঝে সমান ফাঁকা জায়গাalign-items
: উল্লম্বভাবে উপাদানগুলোকে সাজানোর জন্য।flex-start
: উপরের দিকেcenter
: মাঝখানেstretch
: পুরো উচ্চতা নিয়েফ্লেক্সবক্সের সাহায্যে আপনি সহজেই রেসপন্সিভ লেআউট তৈরি করতে পারবেন এবং বুটস্ট্রাপ ৫ এর বিভিন্ন ফ্লেক্সবক্স ক্লাস ব্যবহার করে আপনার ডিজাইনকে আরও নমনীয় এবং কাস্টমাইজযোগ্য করতে পারবেন।