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

آموزش display:grid در CSS؛ ساخت شبکه کارت‌ها

چیدمان دوبعدی با CSS Grid · 0٪

Grid برای چیدمان ردیف و ستون در کنار هم طراحی شده. با display:grid روی والد، فرزندهای مستقیم به آیتم‌های شبکه تبدیل می‌شن. می‌تونی اندازه ستون‌ها رو یک‌جا تعریف کنی تا کارت‌های ردیف‌های مختلف روی خطوط مشترک قرار بگیرن. این ویژگی برای فهرست پروژه‌ها یا بخش‌هایی که نظم دو‌بعدی دارن بسیار کاربردیه.

توی مثال دو ستون با عرض ثابت داریم و آیتم سوم در ردیف بعد قرار می‌گیره. تفاوت مهم اینه که مشخصات شبکه روی ظرف تعریف می‌شن، نه با عرض‌دادن تصادفی به هر کارت. خطای رایج نوشتن grid-template-columns بدون فعال‌کردن display:grid است؛ اسم ستون‌ها به‌تنهایی ظرف عادی رو به شبکه تبدیل نمی‌کنه. در این دوره هر تمرین سند مستقل داره، پس باید قانون ظرف رو در همون تمرین بنویسی و روی باقی‌ماندن تنظیم درس قبلی حساب نکنی. فعلاً اندازه‌های ثابت کمک می‌کنن خطوط شبکه رو واضح ببینی؛ در ادامه سهم‌بندی انعطاف‌پذیر رو هم معرفی می‌کنیم.

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

<div class="shelf"><div>کتاب</div><div>دفتر</div><div>قلم</div></div>
<style>.shelf { display:grid; grid-template-columns:100px 100px; gap:10px; }</style>

حالا نوبت توئه: شبکه .grid-demo را بررسی کن: دو ستون ۱۲۰ پیکسلی و فاصله ده پیکسلی دارد و سه آیتم به ترتیب HTML در خانه‌ها قرار می‌گیرند. هدف این گام شناخت والد شبکه و ستون‌هایش است؛ ویژگی display:grid و grid-template-columns را در قانون ظرف پیدا کن.

فعالیت شما

شبکه .grid-demo را بررسی کن: دو ستون ۱۲۰ پیکسلی و فاصله ده پیکسلی دارد و سه آیتم به ترتیب HTML در خانه‌ها قرار می‌گیرند. هدف این گام شناخت والد شبکه و ستون‌هایش است؛ ویژگی display:grid و grid-template-columns را در قانون ظرف پیدا کن.

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

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

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

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

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

<!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="grid-demo"><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}
.grid-demo{display:grid;grid-template-columns:120px 120px;gap:10px}