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

پیش‌بینی flex-direction در CSS؛ چیدمان عمودی آیتم‌ها

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

محور اصلی فلکس همیشه افقی نیست. flex-direction:row آیتم‌ها رو در راستای خط می‌چینه و column اون‌ها رو از بالا به پایین می‌ذاره. وقتی محور عوض می‌شه، معنای محور اصلی و محور عمود بر اون هم عوض می‌شه. به همین دلیل بهتره به‌جای حفظ‌کردن «فلکس یعنی ردیف»، اول مقدار direction رو بررسی کنی.

مثال یک فهرست مراحل رو عمودی نمایش می‌ده. توی سؤال، سه مورد با نام‌های مشخص داریم و فقط باید شکل ترتیبشون رو پیش‌بینی کنی. خطای رایج اینه که rtl رو معادل برعکس‌شدن ستون بدونیم. جهت راست به چپ روی شروع محور افقی اثر داره، ولی column معمولی همچنان از بالا به پایین پیش می‌ره. مقدار column-reverse گزینه دیگری است که عمداً اینجا استفاده نشده. برای پاسخ درست به ترتیب HTML وفادار بمون و سپس محور اصلی رو مشخص کن. در این مرحله اندازه آیتم‌ها و فضای بینشون عامل تعیین‌کننده پاسخ نیستن.

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

<ol class="steps"><li>انتخاب</li><li>پرداخت</li></ol>
<style>.steps { display:flex; flex-direction:column; }</style>

حالا نوبت توئه: ظرف .stack در جهت rtl دارای display:flex و flex-direction:column است. فرزندها در HTML «شروع»، «تمرین» و «پایان» هستند. ترتیب دیداری از بالا به پایین را انتخاب کن؛ column-reverse، order یا موقعیت‌دهی دیگری در کد وجود ندارد.

فعالیت شما

ظرف .stack در جهت rtl دارای display:flex و flex-direction:column است. فرزندها در HTML «شروع»، «تمرین» و «پایان» هستند. ترتیب دیداری از بالا به پایین را انتخاب کن؛ column-reverse، order یا موقعیت‌دهی دیگری در کد وجود ندارد.

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

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

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

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

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

<!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="stack"><div>شروع</div><div>تمرین</div><div>پایان</div></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}
.stack{display:flex;flex-direction:column}

گزینه‌های پیش‌بینی خروجی

  1. شروع، تمرین، پایان از بالا به پایین
  2. پایان، تمرین، شروع از بالا به پایین
  3. هر سه حتماً در یک ردیف افقی