⏱️2 min read · 434 words
CSS ফ্লেক্সবক্স এখনও 2026 সালে UI উপাদানগুলির জন্য সবচেয়ে গুরুত্বপূর্ণ লেআউট টুল। যখন CSS গ্রিড দ্বি-মাত্রিক লেআউটগুলি পরিচালনা করে, ফ্লেক্সবক্স এক-মাত্রিক প্রান্তিককরণ, প্রতিক্রিয়াশীল নেভিগেশন বার, কার্ড লেআউট এবং কেন্দ্রীভূত উপাদানগুলিতে দুর্দান্ত। এই সম্পূর্ণ নির্দেশিকা চাক্ষুষ উদাহরণ সহ প্রতিটি সম্পত্তি কভার.
📋 Table of Contents
ফ্লেক্স কন্টেইনার বৈশিষ্ট্য
.container {
display: flex; /* or inline-flex */
flex-direction: row; /* row | row-reverse | column | column-reverse */
flex-wrap: nowrap; /* nowrap | wrap | wrap-reverse */
flex-flow: row nowrap; /* shorthand: flex-direction + flex-wrap */
/* Main axis alignment (row = horizontal, column = vertical) */
justify-content: flex-start; /* flex-start | flex-end | center | space-between | space-around | space-evenly */
/* Cross axis alignment */
align-items: stretch; /* stretch | flex-start | flex-end | center | baseline */
/* Multi-line cross axis alignment (only when flex-wrap: wrap) */
align-content: normal; /* normal | flex-start | flex-end | center | space-between | space-around | space-evenly | stretch */
/* Gap between items */
gap: 16px; /* gap: row-gap col-gap */
row-gap: 16px;
column-gap: 24px;
}
ফ্লেক্স আইটেম বৈশিষ্ট্য
.item {
/* flex-grow: how much to grow (0 = don't grow) */
flex-grow: 1; /* 0 = don't grow, 1 = grow proportionally */
/* flex-shrink: how much to shrink (1 = shrink proportionally) */
flex-shrink: 0; /* 0 = don't shrink */
/* flex-basis: initial size before growing/shrinking */
flex-basis: 200px; /* auto | 0 | 200px | 25% */
/* Shorthand: grow shrink basis */
flex: 1 1 auto; /* flex: 1 (common) | flex: 0 0 200px | flex: auto */
/* Self alignment (overrides align-items for this item) */
align-self: center; /* auto | stretch | flex-start | flex-end | center | baseline */
/* Order: visual order (default: 0) */
order: -1; /* appears before order:0 items */
}
সাধারণ ফ্লেক্সবক্স প্যাটার্নস
পারফেক্ট সেন্টারিং
/* Center anything horizontally and vertically */
.center-container {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
}
/* Or use margin: auto on the child (works when parent is flex) */
.centered-item {
margin: auto;
}
নেভিগেশন বার
<nav class="navbar">
<a href="/" class="logo">TechPulse</a>
<ul class="nav-links">
<li><a href="/blog">Blog</a></li>
<li><a href="/about">About</a></li>
</ul>
<a href="/contact" class="cta">Get Started</a>
</nav>
.navbar {
display: flex;
align-items: center;
gap: 16px;
padding: 0 24px;
height: 64px;
}
.logo { font-weight: bold; }
.nav-links {
display: flex;
gap: 24px;
list-style: none;
margin: 0;
padding: 0;
flex: 1; /* push CTA to right */
justify-content: center;
}
.cta { margin-left: auto; } /* or use flex: 1 on nav-links
সমান উচ্চতা সহ কার্ড লেআউট
.card-grid {
display: flex;
flex-wrap: wrap;
gap: 24px;
}
.card {
display: flex;
flex-direction: column;
flex: 1 1 300px; /* grow, shrink, min-basis 300px */
max-width: 400px;
background: white;
border-radius: 12px;
padding: 24px;
}
.card-content {
flex: 1; /* grows to fill space, pushes button to bottom */
}
.card-button {
margin-top: 16px; /* always at bottom regardless of content height */
}
স্টিকি ফুটার
body {
display: flex;
flex-direction: column;
min-height: 100vh;
}
main {
flex: 1; /* grows to fill remaining space, pushing footer down */
}
footer {
/* Always at bottom */
}
হলি গ্রেইল লেআউট
.layout {
display: flex;
min-height: 100vh;
flex-direction: column;
}
.layout-header,
.layout-footer { flex: none; }
.layout-body {
display: flex;
flex: 1;
}
.layout-sidebar { width: 250px; flex: none; }
.layout-main { flex: 1; } /* fills remaining space */
.layout-aside { width: 200px; flex: none; }
ফ্লেক্স-র্যাপ সহ প্রতিক্রিয়াশীল লেআউট
/* Items stack vertically on mobile, go horizontal on desktop */
.responsive-row {
display: flex;
flex-wrap: wrap;
gap: 16px;
}
.responsive-item {
flex: 1 1 250px; /* min-width 250px, grows to fill */
}
/* Force break: half-width items */
.half-width {
flex: 1 1 calc(50% - 16px);
max-width: calc(50% - 16px);
}
/* Full-width override */
.full-width {
flex-basis: 100%;
}
ফ্লেক্সবক্স বনাম গ্রিড: কখন প্রতিটি ব্যবহার করবেন
| দৃশ্যকল্প | ফ্লেক্সবক্স ব্যবহার করুন | গ্রিড ব্যবহার করুন |
|---|---|---|
| নেভিগেশন বার | ✅ | ❌ |
| একটি সারিতে কার্ড তালিকা | ✅ | ✅ |
| জটিল 2D বিন্যাস | ❌ | ✅ |
| একটি উপাদান কেন্দ্র | ✅ | ✅ |
| ফর্ম লেআউট | ✅ (সরল) | ✅ (জটিল) |
| পৃষ্ঠা বিন্যাস (শিরোনাম/প্রধান/পাদলেখ) | ✅ | ✅ |
| আইটেম স্বয়ংক্রিয় বসানো | ❌ | ✅ |
যেকোন ওয়েব ডেভেলপারের জন্য ফ্লেক্সবক্স আয়ত্ত অপরিহার্য। এর সমন্বয়flex: 1ক্রমবর্ধমান আইটেম জন্য,gapব্যবধানের জন্য,align-itemsক্রস-অক্ষ প্রান্তিককরণের জন্য, এবংflex-wrap: wrapপ্রতিক্রিয়াশীল লেআউটের জন্য বাস্তব-বিশ্ব ব্যবহারের ক্ষেত্রে 90% কভার করে।
🔗 Share this article
✍️ Leave a Comment