Flexbox (Flexible Box Layout Module) ওয়েব ডিজাইনে উপাদানগুলো সঠিকভাবে সাজানো এবং রেস্পন্সিভ লেআউট তৈরি করার জন্য ব্যবহার করা হয়। এটি এক-মাত্রিক লেআউট ডিজাইনের ক্ষেত্রে বিশেষভাবে কার্যকর।
Flexbox এর ব্যবহার ক্ষেত্র
ন্যাভিগেশন বার (Navigation Bar):
Flexbox ব্যবহার করে ন্যাভিগেশন বার ডিজাইন করা সহজ। এটি আইটেমগুলো অনুভূমিকভাবে সঠিকভাবে সাজাতে এবং স্থান (space) সমানভাবে বিতরণ করতে সাহায্য করে।
<nav class="navbar">
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Contact</a>
</nav>
.navbar {
display: flex;
justify-content: space-around;
background-color: #333;
padding: 10px;
}
.navbar a {
color: white;
text-decoration: none;
}
বাটন গ্রুপ (Button Group):
বাটনগুলোর মধ্যে স্থান সমানভাবে দিতে এবং সেগুলো একই সারিতে রাখতে Flexbox কার্যকর।
<div class="button-group">
<button>Button 1</button>
<button>Button 2</button>
<button>Button 3</button>
</div>
.button-group {
display: flex;
gap: 10px;
}
কার্ড লেআউট (Card Layout):
কার্ড-ভিত্তিক ডিজাইনে Flexbox ব্যবহার করে সমান উচ্চতা এবং স্থান নির্ধারণ করা যায়।
<div class="card-container">
<div class="card">Card 1</div>
<div class="card">Card 2</div>
<div class="card">Card 3</div>
</div>
.card-container {
display: flex;
justify-content: space-between;
}
.card {
background-color: lightgray;
padding: 20px;
flex: 1;
margin: 10px;
}
ফুটার লেআউট (Footer Layout):
Flexbox দিয়ে একটি রেস্পন্সিভ ফুটার তৈরি করা যায় যেখানে উপাদানগুলো সঠিকভাবে বিন্যস্ত থাকে।
<footer class="footer">
<div>© 2024</div>
<div>Privacy Policy</div>
<div>Contact Us</div>
</footer>
.footer {
display: flex;
justify-content: space-between;
background-color: #222;
color: white;
padding: 10px;
}
Flexbox এর সুবিধা
নমনীয়তা (Flexibility):
Flexbox স্বয়ংক্রিয়ভাবে উপাদানগুলোর আকার এবং স্থান সামঞ্জস্য করে, যা রেস্পন্সিভ ডিজাইন তৈরিতে সহায়ক।
সহজ কেন্দ্রবিন্দু বিন্যাস (Center Alignment):
উপাদানগুলো অনুভূমিক এবং উল্লম্ব উভয় অক্ষেই কেন্দ্রীভূত করা সহজ।
display: flex;
justify-content: center;
align-items: center;
স্থান ব্যবস্থাপনা (Space Management):
justify-content এবং align-items প্রপার্টির মাধ্যমে উপাদানগুলোর মধ্যে স্থান সমানভাবে বিতরণ করা যায়।
অর্ডার নিয়ন্ত্রণ (Order Control):
Flexbox-এর order প্রপার্টি ব্যবহার করে উপাদানগুলোর প্রদর্শনের ক্রম নিয়ন্ত্রণ করা সম্ভব।
.flex-item {
order: 2;
}
অতিরিক্ত CSS প্রপার্টির প্রয়োজন নেই:
Float বা পজিশনিং-এর মতো জটিল CSS প্রপার্টি ছাড়াই Flexbox দিয়ে সহজেই লেআউট তৈরি করা যায়।
রেস্পন্সিভ লেআউট:
Flexbox ছোট পর্দা এবং বড় পর্দার জন্য আলাদা লেআউট তৈরিতে কার্যকর।
Flexbox কেন ব্যবহৃত হয়?
Flexbox-এর সাহায্যে সহজে টেকসই এবং রেস্পন্সিভ লেআউট ডিজাইন করা যায়। এটি ন্যাভিগেশন বার, ফর্ম, কার্ড লেআউট, ফুটার ইত্যাদি ছোট এবং মাঝারি সেকশনের জন্য আদর্শ। উপাদানগুলোর বিন্যাস এবং স্থান ব্যবস্থাপনায় Flexbox একটি শক্তিশালী এবং ব্যবহারবান্ধব সমাধান প্রদান করে।
Read more