Flex Direction কী?
flex-direction হলো Flexbox-এর একটি গুরুত্বপূর্ণ প্রপার্টি যা Flex Items-এর বিন্যাসের দিক নির্ধারণ করে। এটি কন্টেইনারের ভিতরে থাকা আইটেমগুলোকে অনুভূমিক বা উল্লম্বভাবে সাজানোর জন্য ব্যবহৃত হয়। এটি Flex Container-এর মূল আচরণ এবং আইটেমগুলোর বিন্যাস নিয়ন্ত্রণ করে।
Flex Direction-এর মানসমূহ:
row(ডিফল্ট):- Flex Itemsগুলো অনুভূমিকভাবে বাম থেকে ডানে সাজানো হয়। এটি Flexbox-এর ডিফল্ট মান।
- ব্যবহার: সাধারণত ওয়েবপেজের প্রধান কন্টেন্ট বা ন্যাভিগেশন বার ইত্যাদিতে ব্যবহৃত হয়।
.flex-container { display: flex; flex-direction: row; /* ডিফল্ট মান */ }row-reverse:- Flex Itemsগুলো অনুভূমিকভাবে ডান থেকে বাম দিকে সাজানো হয়।
- ব্যবহার: যখন আপনি আইটেমগুলোর ক্রম পরিবর্তন করতে চান কিন্তু অনুভূমিক দিক বজায় রাখতে চান।
.flex-container { display: flex; flex-direction: row-reverse; /* ডান থেকে বামে */ }column:- Flex Itemsগুলো উল্লম্বভাবে উপরে থেকে নিচে সাজানো হয়।
- ব্যবহার: যখন আপনি উপাদানগুলোকে কলামের মতো সাজাতে চান, যেমন টেক্সট বা বিভিন্ন সেকশন।
.flex-container { display: flex; flex-direction: column; /* উল্লম্বভাবে উপরে থেকে নিচে */ }column-reverse:- Flex Itemsগুলো উল্লম্বভাবে নিচ থেকে উপরে সাজানো হয়।
- ব্যবহার: যখন আপনি উল্লম্বভাবে সাজানো আইটেমগুলোর ক্রম উল্টাতে চান।
.flex-container { display: flex; flex-direction: column-reverse; /* নিচ থেকে উপরে */ }
Flex Direction কেন প্রয়োজন?
1. লেআউট নিয়ন্ত্রণ:
flex-direction Flexbox লেআউটের মূল নিয়ন্ত্রক। এর মাধ্যমে আপনি সহজেই উপাদানগুলোর বিন্যাসের দিক পরিবর্তন করতে পারেন, যা লেআউট ডিজাইনকে আরও নমনীয় এবং ইন্টারেক্টিভ করে তোলে। একে ব্যবহার করে ওয়েবপেজের সেকশনগুলোকে সঠিকভাবে সাজানো যায়।
2. রেস্পন্সিভ ডিজাইন:
রেস্পন্সিভ ওয়েব ডিজাইন তৈরিতে flex-direction ব্যবহার খুবই গুরুত্বপূর্ণ। উদাহরণস্বরূপ, ছোট স্ক্রীনে উপাদানগুলোকে উল্লম্বভাবে সাজানো হতে পারে (যেমন মোবাইল ডিসপ্লেতে), কিন্তু বড় স্ক্রীনে তাদেরকে অনুভূমিকভাবে সাজানো হতে পারে (যেমন ডেস্কটপে)।
@media (max-width: 600px) {
.flex-container {
flex-direction: column; /* মোবাইল স্ক্রীনে উল্লম্ব */
}
}
@media (min-width: 601px) {
.flex-container {
flex-direction: row; /* বড় স্ক্রীনে অনুভূমিক */
}
}
3. সামঞ্জস্যপূর্ণ এবং সঠিক বিন্যাস:
বিভিন্ন ধরনের কন্টেন্ট যেমন টেক্সট, চিত্র, ফর্ম এলিমেন্টস ইত্যাদি সহজেই সঠিকভাবে বিন্যস্ত করা যায়। flex-direction-এর মাধ্যমে আপনি ঠিক করতে পারেন যে উপাদানগুলো অনুভূমিকভাবে (row) বা উল্লম্বভাবে (column) সাজানো হবে, যা ডিজাইনে সামঞ্জস্যপূর্ণ আকার এবং স্থান ব্যবস্থাপনায় সহায়তা করে।
4. আইটেমের ক্রম পরিবর্তন:
Flexbox-এর row-reverse এবং column-reverse ব্যবহার করে আপনি Flex Items-এর প্রদর্শনের ক্রম সহজেই পরিবর্তন করতে পারেন, যা কিছু বিশেষ ধরনের লেআউটে সহায়ক হতে পারে। উদাহরণস্বরূপ, row-reverse ব্যবহার করে আপনি ন্যাভিগেশন আইটেমগুলোর ক্রম উল্টাতে পারেন।
5. ইউজার ইন্টারফেস ডিজাইন:
flex-direction ব্যবহার করে আপনি বিভিন্ন UI উপাদান যেমন বাটন, ফর্ম ফিল্ড, এবং লিস্ট আইটেমগুলোকে সহজে সজ্জিত করতে পারেন। এটি বিশেষত বিভিন্ন স্ক্রীন সাইজে উপাদানগুলোকে সঠিকভাবে প্রদর্শন করতে সহায়ক।
উদাহরণ: Flex Direction ব্যবহার
HTML:
<div class="flex-container">
<div class="flex-item">Item 1</div>
<div class="flex-item">Item 2</div>
<div class="flex-item">Item 3</div>
</div>
CSS (Row):
.flex-container {
display: flex;
flex-direction: row; /* অনুভূমিকভাবে আইটেমগুলো সাজানো */
gap: 10px;
}
.flex-item {
background-color: lightblue;
padding: 10px;
text-align: center;
}
CSS (Column):
.flex-container {
display: flex;
flex-direction: column; /* উল্লম্বভাবে আইটেমগুলো সাজানো */
gap: 10px;
}
.flex-item {
background-color: lightblue;
padding: 10px;
text-align: center;
}
সারাংশ
flex-direction Flexbox-এর একটি অত্যন্ত শক্তিশালী প্রপার্টি, যা Flex Items-এর বিন্যাসের দিক নিয়ন্ত্রণ করে। এটি ওয়েব ডিজাইনে উপাদানগুলোর অবস্থান নির্ধারণ করতে ব্যবহৃত হয়, বিশেষত যখন আপনি অনুভূমিক বা উল্লম্ব লেআউট তৈরি করতে চান। এই প্রপার্টির মাধ্যমে আপনি রেস্পন্সিভ ডিজাইন, ইউজার ইন্টারফেসের সঠিক বিন্যাস, এবং লেআউটের নমনীয়তা সহজে অর্জন করতে পারেন।
Read more