تخطيط تذييل جانبي ثابت
أنشئ تخطيطات ذات تذييلات وأشرطة جانبية ثابتة تمتد بكامل الارتفاع باستخدام Grid أو Flexbox.
تخطيط تذييل جانبي ثابت درس مجاني في CSS Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في CSS Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة CSS Academy 4 دروس في المجموع.
مشكلة التذييل الثابت
يبقى التذييل الثابت في أسفل إطار العرض عندما يكون المحتوى قصيرًا، لكنه يتحرك إلى الأسفل مع المحتوى عندما يكون طويلًا. ويتمثل التحدي التاريخي في جعل التذييل ثابتًا من دون معرفة ارتفاع المحتوى أو استخدام JavaScript.
تذييل ثابت باستخدام Flexbox
أبسط حل حديث هو: body { display: flex; flex-direction: column; min-height: 100vh; } وmain { flex: 1; }. يتمدد المحتوى الرئيسي لملء المساحة المتاحة، فيدفع التذييل إلى الأسفل بغض النظر عن طول المحتوى.
تذييل ثابت باستخدام Grid
البديل باستخدام CSS Grid هو: body { display: grid; grid-template-rows: auto 1fr auto; min-height: 100vh; }. يحصل الرأس على ارتفاع تلقائي، ويحصل المحتوى الرئيسي على 1fr لملء المساحة المتبقية، ويحصل التذييل على ارتفاع تلقائي. هذا الأسلوب واضح وصريح؛ إذ يوضح قالب الصفوف نية التخطيط بجلاء.
تذييل باستخدام position: sticky
يؤدي استخدام position: sticky; bottom: 0 في التذييل إلى تثبيته في أسفل إطار العرض أثناء التمرير، ولكن فقط عندما يسمح سياق التمرير بذلك. ينجح هذا الأسلوب مع التذييلات الموجودة داخل حاوية قابلة للتمرير، لكنه أقل ملاءمة للتذييلات الثابتة على مستوى الصفحة، حيث يكون Flexbox أو Grid أنظف.
تخطيط الشريط الجانبي باستخدام Flexbox
لتخطيط يتكون من شريط جانبي ومحتوى رئيسي، استخدم wrapper { display: flex; } وsidebar { width: 280px; flex-shrink: 0; } وmain { flex: 1; min-width: 0; }. تمنع min-width: 0 في العنصر الرئيسي عناصر Flex من تجاوز حاويتها عند احتوائها على محتوى عريض.
تخطيط الشريط الجانبي باستخدام Grid
لتخطيط شريط جانبي باستخدام Grid، استخدم: wrapper { display: grid; grid-template-columns: 280px 1fr; gap: var(--spacing-4); }. يكون عمود الشريط الجانبي ثابتًا، بينما يملأ عمود المحتوى المساحة المتبقية. أضف صفًا للرأس باستخدام grid-template-rows: auto 1fr، مع جعل الشريط الجانبي يمتد عبر الصفين.
الشريط الجانبي المتجاوب
على الأجهزة المحمولة، اطوِ الشريط الجانبي ليظهر أعلى المحتوى الرئيسي أو أسفله: استخدم استعلامًا وسطيًا للتبديل من تخطيط أعمدة باستخدام Grid إلى تكديس في عمود واحد. أو استخدم grid-template-columns: min(280px, 30%) 1fr لإنشاء شريط جانبي مرن يتقلص في إطارات العرض الأصغر.
الشريط الجانبي الثابت
لجعل الشريط الجانبي قابلًا للتمرير بشكل مستقل، استخدم: sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; }. يبقى الشريط الجانبي ظاهرًا أثناء تمرير المحتوى الرئيسي، ما يجعله مناسبًا لأشرطة التنقل الجانبية أو أشرطة فهرس المحتويات في صفحات المحتوى الطويل.
الشريط الجانبي القابل للطي
يتبدل الشريط الجانبي القابل للطي بين حالة بعرض كامل وحالة تعرض الأيقونات فقط. استخدم خاصية CSS مخصصة لعرض الشريط الجانبي: --sidebar-width: 280px في الحاوية، ثم بدّلها إلى 64px عبر class. وتحرّك الانتقالات تغيير العرض بسلاسة.
تجاوز المحتوى في الأشرطة الجانبية الثابتة
يتطلب الشريط الجانبي ذي الموضع الثابت (position: fixed; left: 0; top: 0; height: 100vh) إزاحة المحتوى الرئيسي بمقدار عرض الشريط الجانبي: main { margin-left: 280px }. على الأجهزة المحمولة، ينزلق الشريط الجانبي فوق المحتوى مع زر إغلاق وطبقة خلفية حاجبة.
إمكانية الوصول إلى الأشرطة الجانبية
حدّد أشرطة التنقل الجانبية باستخدام <nav> وaria-label="Sidebar navigation". تحتاج الأشرطة الجانبية القابلة للطي إلى زر تبديل يمكن الوصول إليه، مزودًا بـ aria-expanded وaria-controls. تساعد روابط التخطي مستخدمي لوحة المفاتيح على تجاوز الأشرطة الجانبية والوصول إلى المحتوى الرئيسي.
اختبار المعرفة
لماذا يجب ضبط min-width: 0 في عنصر المحتوى الرئيسي ضمن تخطيط Flex الذي يحتوي على شريط جانبي؟
الملخص
يحقق Flexbox مع استخدام flex: 1 في العنصر الرئيسي، أو شبكة مكونة من ثلاثة صفوف، تذييلات ثابتة بتنسيق CSS محدود. تستخدم تخطيطات الأشرطة الجانبية تعريفات أعمدة ثابتة أو مرنة مع نقاط توقف متجاوبة للطي على الأجهزة المحمولة. وتكمل الأشرطة الجانبية الثابتة والعروض القابلة للطي وسمات ARIA التي تتيح الوصول أنماط الأشرطة الجانبية والتذييلات الجاهزة للإنتاج.
الأسئلة الشائعة
هل درس «تخطيط تذييل جانبي ثابت» مجاني؟
نعم — نص درس «تخطيط تذييل جانبي ثابت» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة CSS Academy، انتقل إلى CoddyKit PRO. تتضمن دورة CSS Academy 4 دروس في المجموع.
ماذا ستتعلم في «تخطيط تذييل جانبي ثابت»؟
أنشئ تخطيطات ذات تذييلات وأشرطة جانبية ثابتة تمتد بكامل الارتفاع باستخدام Grid أو Flexbox. تتمرن على CSS Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ CSS Academy؟
لا تُشترط خبرة سابقة. CSS Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «تخطيط تذييل جانبي ثابت»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس CSS Academy هذا؟
نعم. كل درس في CSS Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تخطيط تذييل جانبي ثابت
- تخطيط الكأس المقدسة باستخدام Grid
- تخطيط Masonry: نهجا CSS وJS
- التصميم الجوهري: تحديد الحجم حسب المحتوى