شبکه اجتماعی طراحان وب ایران

همهٔ درس‌ها

چیدمان با Flexbox

چیدمان یک‌بعدی با display: flex و تراز آیتم‌ها.

پیش‌نیاز: مدل جعبه (Box Model)

چرا Flexbox؟

Flexbox یک مدل چیدمان یک‌بعدی است: آیتم‌ها در یک ردیف (row) یا یک ستون (column) قرار می‌گیرند. با چند property ساده می‌توانی تراز، توزیع فضا و ترتیب آیتم‌ها را کنترل کنی.

فعال‌سازی Flex

روی المان والد display: flex می‌گذاری. به‌طور پیش‌فرض آیتم‌ها در یک ردیف از چپ به راست (در LTR) چیده می‌شوند.

.container {
    display: flex;
    flex-direction: row;   /* row | column | row-reverse | column-reverse */
    flex-wrap: wrap;      /* در صورت نیاز خط بعد */
}

تراز و توزیع فضا

  • justify-content — تراز در جهت اصلی (مثلاً فضای بین آیتم‌ها: space-between، وسط: center)
  • align-items — تراز در جهت عمود بر اصلی (مثلاً وسط: center، کشیده: stretch)
  • gap — فاصلهٔ بین آیتم‌ها (مثلاً gap: 1rem)
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

کنترل روی هر آیتم

روی خود آیتم‌ها (فرزندها) می‌توانی flex-grow (رشد برای پر کردن فضا)، flex-shrink و flex-basis بگذاری. خلاصهٔ رایج: flex: 1 یعنی «یک سهم از فضای باقی‌مانده بگیر».

.sidebar { flex: 0 0 200px; }
.content { flex: 1; }

با Flexbox می‌توانی منو، کارت‌ها و چیدمان‌های ساده را بدون float و هک به‌راحتی بسازی. برای چیدمان دو بعدی (شبکهٔ سطر و ستون) بعداً CSS Grid را یاد می‌گیری.

لینک کپی شد!