حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش CSS از صفر؛ طراحی صفحه با Flexbox و Grid

رفع خطای justify-content و align-items در CSS؛ دو محور فلکس

چیدمان یک‌بعدی با Flexbox در CSS · 0٪

justify-content آیتم‌ها رو در محور اصلی مدیریت می‌کنه و align-items در محور عمود بر اون. در یک ردیف معمولی، اولی روی توزیع افقی و دومی روی تراز عمودی اثر می‌ذاره. اگر جهت ستون بشه، نقش افقی و عمودی جابه‌جا می‌شه، اما رابطه این ویژگی‌ها با محور اصلی ثابت می‌مونه. پس بهتره اول direction رو بخونی و بعد جای ویژگی‌ها رو تصمیم بگیری.

مثال یک ردیف با تراز مرکزی در هر دو محور می‌سازه. تمرین به جای مرکز افقی، دو بخش رو تا دو انتهای ظرف پخش می‌کنه. خطای رایج نوشتن space-between روی align-items است؛ این مقدار برای توزیع آیتم‌های محور اصلی با justify-content به کار میاد. ارتفاع ظرف عمداً مشخصه تا مرکز عمودی واقعاً دیده بشه. مقدارهای اشتباه موجود رو جابه‌جا یا اصلاح کن و جهت ردیف رو حفظ کن. افزودن marginهای حدسی ممکنه در یک متن کوتاه شبیه خروجی بشه، ولی منطق دو محور رو منتقل نمی‌کنه.

✍️ مثال حل‌شده:

<div class="center"><span>وضعیت</span><button>ادامه</button></div>
<style>.center { display:flex; height:70px; justify-content:center; align-items:center; }</style>

حالا نوبت توئه: نوار .bar با جهت row، عرض ۳۶۰ و ارتفاع ۸۰ پیکسل باید display:flex، justify-content:space-between و align-items:center داشته باشد. متن و دکمه را نگه دار. تراز اصلی را با marginهای دستی جبران نکن؛ دو محور را روی خود ظرف درست تنظیم کن.

فعالیت شما

نوار .bar با جهت row، عرض ۳۶۰ و ارتفاع ۸۰ پیکسل باید display:flex، justify-content:space-between و align-items:center داشته باشد. متن و دکمه را نگه دار. تراز اصلی را با marginهای دستی جبران نکن؛ دو محور را روی خود ظرف درست تنظیم کن.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید:

کد اولیهٔ فعالیت

<!doctype html>
<html lang="fa" dir="rtl">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>تمرین CSS</title></head>
<body>
<div class="bar"><span>پروفایل من</span><button>ویرایش</button></div>
</body>
</html>

ظاهر صفحه (CSS)

body{margin:0;padding:16px;font-family:Tahoma,Arial,sans-serif;direction:rtl;color:#1f2937;background:#f3f4f6}*{box-sizing:content-box}
.bar{display:flex;flex-direction:row;width:360px;height:80px;justify-content:center;align-items:flex-start}