مناطق قالب الشبكة
سمِّ مناطق الشبكة باستخدام grid-template-areas لإنشاء تخطيطات واضحة ودلالية.
مناطق قالب الشبكة درس مجاني في CSS Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في CSS Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة CSS Academy 4 دروس في المجموع.
مناطق الشبكة المسماة
تتيح لك grid-template-areas تسمية مناطق الشبكة باستخدام رسم نصي ASCII. وهذا يجعل التخطيطات سهلة القراءة والصيانة بدرجة كبيرة.
تعريف مناطق القالب
تمثل كل سلسلة نصية بين علامتي اقتباس صفًا. وتشكل الخلايا التي تحمل الاسم نفسه منطقة مستطيلة. استخدم . للخلايا الفارغة.
<div class="page" style="min-height:240px;">
<header style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</header>
<aside style="grid-area:sidebar;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Sidebar</aside>
<main style="grid-area:main;background:#7ee78722;border:1px solid #34c759;padding:8px;">Main</main>
<footer style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</footer>
</div>وضع العناصر حسب الاسم
عيّن عناصر الشبكة إلى المناطق المسماة باستخدام الخاصية grid-area مع اسم المنطقة، من دون علامات اقتباس:
<div style="display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:'header header' 'sidebar main' 'footer footer';min-height:220px;gap:4px;">
<header style="background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</header>
<div class="sidebar" style="background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Sidebar</div>
<main style="background:#7ee78722;border:1px solid #34c759;padding:8px;">Main</main>
<footer style="background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</footer>
</div>قواعد مناطق القالب
يجب أن تكون المناطق المسماة مستطيلة. ولا يمكن لكل خلية أن تكون جزءًا من أكثر من منطقة واحدة. ولا يمكن أن يظهر اسم المنطقة في خلايا غير متصلة، فهذا غير صالح.
الخلايا الفارغة باستخدام .
استخدم نقطة واحدة أو أكثر لتمييز الخلايا الفارغة في grid-template-areas:
<div class="layout" style="display:grid;min-height:200px;">
<div style="grid-area:logo;background:#4f8cff22;border:1px solid #4f8cff;">Logo</div>
<div style="grid-area:nav;background:#ffb84d22;border:1px solid #ffb84d;">Nav</div>
<div style="grid-area:main;background:#7ee78722;border:1px solid #34c759;">Main</div>
<div style="grid-area:sidebar;background:#b57bff22;border:1px solid #b57bff;">Sidebar</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;">Footer</div>
</div>المناطق المتجاوبة مع استعلامات الوسائط
أعد تعريف grid-template-areas في استعلامات الوسائط لإعادة تشكيل بنية التخطيط بالكامل:
<p style="font-size:0.85em;color:#888;margin:0 0 8px;">Narrow (default) preview below. Widen your browser to ≥768px to see the media query apply the two-column layout live.</p>
<div class="page" style="min-height:200px;margin-bottom:16px;">
<div style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</div>
<div style="grid-area:main;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Main</div>
<div style="grid-area:sidebar;background:#7ee78722;border:1px solid #34c759;padding:8px;">Sidebar</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</div>
</div>
<p style="font-size:0.85em;color:#888;margin:0 0 8px;">Preview of the ≥768px layout (static reference — not driven by the media query):</p>
<div style="display:grid;grid-template-columns:200px 1fr;grid-template-areas:'header header' 'sidebar main' 'footer footer';gap:4px;min-height:160px;">
<div style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</div>
<div style="grid-area:sidebar;background:#7ee78722;border:1px solid #34c759;padding:8px;">Sidebar</div>
<div style="grid-area:main;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Main</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</div>
</div>الخطوط المسماة المُنشأة تلقائيًا
عند تسمية منطقة، تنشئ CSS تلقائيًا خطوط شبكة مسماة: area-start وarea-end لكل من الصفوف والأعمدة.
<div style="display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr;grid-template-areas:'aside main' 'aside main';gap:0;min-height:160px;">
<div style="grid-area:aside;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Aside</div>
<div style="grid-area:main;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Main content</div>
<div class="overlay" style="grid-row:1/3;background:rgba(255,99,71,0.3);border:2px dashed tomato;padding:4px;">Overlay via named lines main-start / main-end</div>
</div>دمج المناطق وأرقام الخطوط
يمكن أن تتعايش المناطق المسماة وأرقام الخطوط الصريحة في الشبكة نفسها. ويمكن وضع العناصر حسب الاسم أو الخط أو الامتداد.
سير عمل التصميم المرئي للشبكة
سير العمل الشائع هو: ارسم التخطيط في مناطق القالب أولًا، ثم حدد أحجام الأعمدة والصفوف. فهذا يفصل بنية التخطيط عن اعتبارات تحديد الحجم.
<div class="dashboard" style="display:grid;">
<div style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;">Header</div>
<div style="grid-area:nav;background:#ffb84d22;border:1px solid #ffb84d;">Nav</div>
<div style="grid-area:main;background:#7ee78722;border:1px solid #34c759;">Main</div>
<div style="grid-area:ads;background:#b57bff22;border:1px solid #b57bff;">Ads</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;">Footer</div>
</div>مناطق القالب وإمكانية الوصول
قد يختلف الترتيب المرئي في Grid عن ترتيب المصدر في DOM. وتتبع قارئات الشاشة ترتيب DOM، لا التموضع المرئي. تأكد من أن ترتيب DOM منطقي، حتى عند إعادة ترتيب العناصر مرئيًا بواسطة تموضع الشبكة.
الاختصار grid-template
اجمع grid-template-areas وgrid-template-columns وgrid-template-rows في تعريف واحد للخاصية grid-template.
<div class="page" style="display:grid;min-height:200px;">
<div style="grid-area:header;background:#4f8cff22;border:1px solid #4f8cff;padding:8px;">Header</div>
<div style="grid-area:sidebar;background:#ffb84d22;border:1px solid #ffb84d;padding:8px;">Sidebar</div>
<div style="grid-area:main;background:#7ee78722;border:1px solid #34c759;padding:8px;">Main</div>
<div style="grid-area:footer;background:#ff6b6b22;border:1px solid #ff6b6b;padding:8px;">Footer</div>
</div>تحقق سريع
في grid-template-areas، ما الحرف المستخدم لتمييز الخلية الفارغة؟
مراجعة
تستخدم grid-template-areas رسمًا نصيًا ASCII لتسمية مناطق التخطيط. وتُوضَع العناصر باستخدام grid-area: name. ويجب أن تكون المناطق مستطيلة، بينما تستخدم الخلايا الفارغة .. أعد تعريف المناطق في استعلامات الوسائط لإنشاء تخطيطات متجاوبة بالكامل باستخدام CSS نظيف وسهل القراءة.
تعلم CSS مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 40
- الدروس
- 159
الأسئلة الشائعة
هل درس «مناطق قالب الشبكة» مجاني؟
نعم — نص درس «مناطق قالب الشبكة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة CSS Academy، انتقل إلى CoddyKit PRO. تتضمن دورة CSS Academy 4 دروس في المجموع.
ماذا ستتعلم في «مناطق قالب الشبكة»؟
سمِّ مناطق الشبكة باستخدام grid-template-areas لإنشاء تخطيطات واضحة ودلالية. تتمرن على CSS Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ CSS Academy؟
لا تُشترط خبرة سابقة. CSS Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «مناطق قالب الشبكة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس CSS Academy هذا؟
نعم. كل درس في CSS Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Display Grid وأعمدة الصفوف وقوالبها
- وحدة fr ودالة Repeat
- الفجوة ووضع العناصر في الشبكة
- مناطق قالب الشبكة