ফ্লেক্সবক্স (Flexbox) হল একটি CSS লেআউট মডেল, যা ডাইনামিক ও ফ্লেক্সিবল লেআউট ডিজাইন তৈরি করতে ব্যবহৃত হয়। এটি আপনাকে উপাদানগুলোর সাইজ, স্থান এবং অ্যালাইনমেন্ট খুব সহজে নিয়ন্ত্রণ করতে দেয়, বিশেষ করে একাধিক উপাদানকে একসাথে লাইন, কলাম বা গ্রিড আকারে সাজাতে।
বুটস্ট্রাপ ৫ এর ফ্লেক্সবক্স ক্লাসগুলো ব্যবহার করে দ্রুত এবং সহজে ফ্লেক্সবক্স লেআউট তৈরি করা যায়। এখানে আমরা ফ্লেক্সবক্সের মূল ধারণা এবং বুটস্ট্রাপ ৫ এর সাথে এটি কিভাবে ব্যবহার করা যায় তা দেখবো।
ফ্লেক্সবক্সের মধ্যে মূলত দুটি জিনিস থাকে:
display: flex
বা display: inline-flex
দিয়ে চিহ্নিত করা হয়।বুটস্ট্র্যাপ ৫ অনেকগুলো ফ্লেক্সবক্স ক্লাস সরবরাহ করে যা আপনার কাজকে সহজ করে তোলে। এই ক্লাসগুলো ব্যবহার করে আপনি বিভিন্ন লেআউট, যেমন গ্রিড, সেন্টারিং, সাইজিং ইত্যাদি তৈরি করতে পারেন।
এখানে একটি সাধারণ ফ্লেক্স কন্টেইনার এবং এর মধ্যে কয়েকটি ফ্লেক্স আইটেম তৈরি করা হয়েছে।
<div class="container mt-5">
<div class="d-flex">
<div class="p-2">আইটেম ১</div>
<div class="p-2">আইটেম ২</div>
<div class="p-2">আইটেম ৩</div>
</div>
</div>
এখানে:
d-flex
: এই ক্লাসটি কন্টেইনারকে ফ্লেক্স কন্টেইনারে পরিণত করে।p-2
: এই ক্লাসটি আইটেমগুলোর মধ্যে কিছু প্যাডিং (স্পেসিং) যোগ করে।ফ্লেক্স আইটেমগুলো এখন কন্টেইনারের মধ্যে একটি লাইন হিসেবে থাকবে। ফ্লেক্স কন্টেইনার স্বয়ংক্রিয়ভাবে আইটেমগুলোকে একে অপরের পাশে সাজায়।
ফ্লেক্সবক্স আপনাকে আইটেমগুলোর সাইজ নিয়ন্ত্রণ করার জন্য flex
ক্লাসটি ব্যবহার করতে দেয়। এটি আইটেমের প্রশস্ততা এবং সাইজ নিয়ন্ত্রণ করে।
<div class="container mt-5">
<div class="d-flex">
<div class="p-2 flex-fill">আইটেম ১</div>
<div class="p-2 flex-fill">আইটেম ২</div>
<div class="p-2 flex-fill">আইটেম ৩</div>
</div>
</div>
এখানে:
flex-fill
: এই ক্লাসটি ফ্লেক্স আইটেমকে কন্টেইনারের পূর্ণ প্রশস্ততা পূর্ণ করতে বলে।এইভাবে, প্রতিটি আইটেম কন্টেইনারের সমান অংশে প্রসারিত হবে।
ফ্লেক্সবক্সের সবচেয়ে শক্তিশালী বৈশিষ্ট্যগুলির মধ্যে একটি হল উপাদানগুলোকে সহজে সেন্টার করা। আপনি justify-content
এবং align-items
প্রোপার্টির মাধ্যমে উপাদানগুলিকে সেন্টার করতে পারেন।
<div class="container mt-5">
<div class="d-flex justify-content-center align-items-center" style="height: 200px;">
<div class="p-2">সেন্টার করা আইটেম</div>
</div>
</div>
এখানে:
justify-content-center
: এই ক্লাসটি ফ্লেক্স কন্টেইনারের অনুভূমিক (horizontal) সেন্টারিং করে।align-items-center
: এই ক্লাসটি ফ্লেক্স কন্টেইনারের উল্লম্ব (vertical) সেন্টারিং করে।height: 200px;
: কন্টেইনারে উচ্চতা দেওয়া হয়েছে যাতে সেন্টারিং দৃশ্যমান হয়।এভাবে, আইটেমটি কন্টেইনারের মাঝখানে সেন্টার হবে।
ফ্লেক্স আইটেমগুলো কখনো কখনো রিভার্স অর্ডারে সাজানো প্রয়োজন হতে পারে। আপনি flex-row-reverse
বা flex-column-reverse
ক্লাস ব্যবহার করে এটি করতে পারেন।
<div class="container mt-5">
<div class="d-flex flex-row-reverse">
<div class="p-2">আইটেম ১</div>
<div class="p-2">আইটেম ২</div>
<div class="p-2">আইটেম ৩</div>
</div>
</div>
এখানে:
flex-row-reverse
: এই ক্লাসটি ফ্লেক্স আইটেমগুলোকে উল্টো অর্ডারে সাজিয়ে দেবে, অর্থাৎ আইটেম ৩ প্রথমে, আইটেম ২ পরে এবং আইটেম ১ শেষ হবে।ফ্লেক্স কন্টেইনারের মধ্যে স্পেস বন্টনের জন্য justify-content
ক্লাস ব্যবহার করা যেতে পারে, যেমন justify-content-between
, justify-content-around
ইত্যাদি।
<div class="container mt-5">
<div class="d-flex justify-content-between">
<div class="p-2">আইটেম ১</div>
<div class="p-2">আইটেম ২</div>
<div class="p-2">আইটেম ৩</div>
</div>
</div>
এখানে:
justify-content-between
: এই ক্লাসটি ফ্লেক্স আইটেমগুলোর মধ্যে সমান স্পেস রেখে আইটেমগুলোকে শুরু ও শেষে সাজিয়ে দেয়।ফ্লেক্সবক্স CSS লেআউট মডেলটি একটি অত্যন্ত শক্তিশালী টুল যা সোজাসুজি উপাদানগুলোকে খুব সহজে এবং কার্যকরভাবে সাজানোর সুযোগ দেয়। বুটস্ট্রাপ ৫ এর ফ্লেক্স ক্লাসগুলো আপনাকে এই শক্তিশালী লেআউট কৌশলটি খুব দ্রুত এবং কার্যকরভাবে প্রয়োগ করতে সাহায্য করে।
Read more