CSS Grid من الصفر إلى تصميم متاجر ومجلات بأجمل وأوضح طريقة ممكنة!
هل لاحظت يوماً كيف تترتب المقالات في المجلات العالمية بشكل متناسق ومريح للعين؟
هل سبق وحاولت تصميم "لوحة" لموقعك وتحيرت كيف تضع الهيدر في الأعلى، والقائمة على اليمين، والمحتوى في المنتصف بدقة متناهية؟
خلف هذا الجمال في الويب يقف بطل واحد: CSS Grid.
إذا كان Flexbox هو الأداة المثالية لترتيب العناصر في سطر واحد، فإن CSS Grid هو "المخطط الهندسـي" الكامل. هو النظام الذي يمنحك القوة لتقسيم الصفحة إلى صفوف وأعمدة ذكية، لتبني هيكل موقعك (Layout) بكل ثبات وسهولة، تماماً كما خططت له في مخيلتك.
اليوم، سنتعلم كيف نحول صفحتنا البيضاء إلى "شبكة" احترافية. لن نكتفي بترتيب العناصر بجانب بعضها فقط، بل سنتحكم في الطول والعرض والتقاطعات، لنبني واجهات مستخدم معقدة بأسطر كود بسيطة جداً.
;display: grid
هذه الكلمة تحول أي حاوية إلى شبكة سحرية
أهم خصائص Grid التي ستستخدمها كثيرًا
grid-template-columns
عدد الأعمدة
grid-template-rows
عدد الصفوف
gap
المسافة بين الخلايا
fr
وحدة مرنة (fraction)
grid-column / grid-row
تمديد العنصر
grid-template-areas
رسم التخطيط بالكلمات
justify-items
محاذاة أفقية داخل الخلية
align-items
محاذاة عمودية داخل الخلية
معلومة سريعة
في Grid غالبًا تبدأ بـ: columns + gap، وبعدها تنتقل لـ auto-fit/minmax عشان يصير التصميم متجاوب تلقائيًا.
غيّر عدد الأعمدة و gap وجرّب minmax/auto-fit… وشوف الشبكة تتغير فورًا
هذا قسم: الإعدادات
هذا قسم: CSS الناتج
display: grid;
✅ تم النسخ
ملاحظة: وضع auto-fit + minmax هو الأفضل للتجاوب مع الشاشات.
هذا قسم: المعاينة
جرّب تصغير نافذة المتصفح وشاهد كيف auto-fit يتكيف تلقائيًا
أمثلة تفيدك(انسخ وجرب)
هذا قسم: متجر إلكتروني (٤ منتجات)
.products {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}
.product {
background: white;
padding: 20px;
border-radius: 16px;
text-align: center;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
هذا قسم: تخطيط كامل بالكلمات (areas)
.container {
display: grid;
grid-template-areas:
"header header header"
"nav main aside"
"footer footer footer";
grid-template-columns: 200px 1fr 300px;
grid-template-rows: 80px 1fr 70px;
gap: 10px;
height: 100vh;
}
header {grid-area: header;}
nav {grid-area: nav;}
main {grid-area: main;}
aside {grid-area: aside;}
footer {grid-area: footer;}
اختر تخطيط جاهز وشاهد الشبكة + انسخ CSS مباشرة
هذا قسم: الإعدادات
هذا قسم: CSS الناتج
display: grid;
✅ تم النسخ
هذا قسم: المعاينة
هذه أقوى ميزة في Grid: ترسم التخطيط بالكلمات!
تمرين الأبطال: متجر إلكتروني كامل في ٤٠ سطر!
<div class="store">
<div class="product">منتج 1</div>
<div class="product">منتج 2</div>
<div class="product">منتج 3</div>
<div class="product">منتج 4</div>
</div>
.store {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}
مهمتك الآن:
- أضف ١٢ منتج.
- غيّر
minmax(250px, 1fr)إلىminmax(200px, 1fr)وشاهد الفرق. - جرّب رفع
gapإلى 30.
خلاصة Grid في ٣ أشياء:
display:grid + columns + gap
إذا أتقنت الثلاثة… تقدر تبني أي تخطيط معقّد بسهولة.
الدرس القادم: Responsive + Media Queries
كيف يظهر موقعك مذهلاً على الجوال والتابلت والشاشات الكبيرة تلقائيًا!