انتقل إلى محتوى الدرس
الدرس 82
دورة لغة CSS

خاصية order مع Flexbox في لغة CSSCSS Flex Order

تعرّف على خاصية order في التخطيط المرن Flexbox لإعادة ترتيب ظهور العناصر بصرياً بالأعداد السالبة والصفرية والموجبة مع مراعاة سلامة تنقل مفتاح Tab وقارئات الشاشة وفق شجرة HTML.
أقسام الدرس
5
الأمثلة
3
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
4,428
محتوى الدرس
في هذا الدرس 5تصفّح المواضيع

جميع خصائص التخطيط المرن التي درسناها سابقاً كانت تُكتب على الحاوية الأب، أما خاصية order فهي أول خاصية نطبقها مباشرةً على العنصر المرن الابن نفسه. افتراضياً تظهر العناصر على المحور الرئيسي بنفس تسلسل كتابتها في مستند HTML لأن القيمة الابتدائية لكل عنصر هي order: 0.

عند إسناد أرقام صحيحة مخصصة لخاصية order، يرتب المتصفح العناصر تصاعدياً من الرقم الأصغر إلى الأكبر بدءاً من القيم السالبة، مروراً بالصفر، وصولاً إلى القيم الموجبة. وإذا اشترك عنصران في نفس الرقم فيُحسم التعادل بينهما وفق ترتيبهما الأصلي في الكود المصدري.

يؤدي منح أحد الأبناء عدداً صحيحاً موجباً مثل order: 1 أو order: 2 إلى دفعه نحو نهاية المحور الرئيسي. قد يتساءل المبتدئ لماذا نقلت القيمة 1 العنصر إلى المؤخرة بدلاً من المقدمة؟ الجواب البسيط أن بقية أقرانه لم تُعدَّل فاحتفظت بقيمتها الافتراضية 0، والصفر يسبق الواحد حسابياً.

تأمل المخطط البصري والمثال القابل للتشغيل أدناه، حيث انتقل العنصر الأول في الكود إلى آخر الصف فور إعطائه order: 1:

مخطط يوضح فرز عناصر Flexbox تصاعدياً من القيمة السالبة -1 إلى الافتراضية 0 ثم الموجبة 1
CSS
.row-cards {
  display: flex;
  gap: 10px;
}
.sponsor-card {
  order: 1;
}

افترض أنك تريد إبراز باقة اشتراك مميزة أو بطاقة تنبيه لتظهر في مقدمة السطر قبل جميع أقرانها دون أن تضطر لترقيم بقية البطاقات يدوياً. يكفي إعطاء تلك البطاقة وحدها قيمة سالبة مثل order: -1 لتسبق جميع العناصر الافتراضية ذات القيمة 0 فوراً.

جرّب التقديم بالسالب والتأخير بالموجب عملياً في المختبر التفاعلي والمثال القابل للتشغيل أدناه:

قاعدة وصول جوهرية: تغيّر خاصية order الرسم البصري على الشاشة فقط ولا تعيد ترتيب شجرة DOM نهائياً؛ لذلك يظل تنقل لوحة المفاتيح عبر زر Tab ونطق قارئات الشاشة مرتبطين بترتيب كتابة الوسوم داخل HTML الأصلي.

إذا بعثرت ترتيب الأزرار التفاعلية أو حقول النماذج بصرياً عبر order، فسيقفر مؤشر التركيز عشوائياً ذهاباً وإياباً أمام مستخدمي لوحة المفاتيح. عندما تحتاج لتغيير التسلسل المنطقي الفعلي، عدّل ترتيب العناصر في HTML نفسه. جرّب فتح المثال التالي واضغط مفتاح Tab لتعاين بنفسك بقاء التركيز على ترتيب المصدر:

CSS
.step-early {
  order: -1;
}
.step-late {
  order: 2;
}
.nav-step:focus {
  background-color: #dc143c;
}

داخل أدوات المطور DevTools افتح تبويب Layout وفعّل خيار إظهار أرقام الترتيب مع شارة flex ليرسم المتصفح أرقاماً إرشادية مباشرة فوق كل عنصر مرن تسهّل عليك مراجعة الترتيب. لخّص القواعد الأساسية من الجدول التالي:

القيمة المسندة في orderالموضع البصري على المحورقاعدة كسر التعادلتأثيرها على مفتاح Tab
سالبة مثل -2 و -1تتقدم قبل جميع العناصر الافتراضيةتتبع تسلسل HTML الأصليلا يتغير بل يتبع شجرة DOM
افتراضية 0الموضع الابتدائي لكل عنصر غير معدّلتتبع تسلسل HTML الأصلييطابق الترتيب البصري بانسجام تام
موجبة مثل 1 و 2تتأخر بعد جميع العناصر الصفريةتتبع تسلسل HTML الأصليلا يتغير بل يتبع شجرة DOM
عشرية مثل 1.5قيمة خاطئة نحوياً يتجاهلها المتصفحيبقى العنصر على قيمته الصحيحة السابقةلا يتغير
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنت في هذا الدرس كيفية فرز الأبناء بصرياً عبر خاصية order من الأعداد السالبة مروراً بالقيمة الابتدائية 0 وحتى الأعداد الموجبة، مع الحفاظ على سلامة وصول لوحة المفاتيح Tab وقارئات الشاشة. في الخطوة التالية ننتقل إلى درس خاصية flex-basis مع Flexbox في لغة CSS لتحديد الحجم الابتدائي المثالي للعنصر المرن قبل التمدد أو الانكماش.

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Visual Painting Order ترتيب الرسم البصري
التسلسل المرئي لظهور العناصر المرنة على الشاشة بعد فرزها تصاعدياً حسب قيم خاصية order.
للمراجعة
02 Source Order Tie-Breaking حسم التعادل بترتيب المصدر
اعتماد المتصفح على أسبقية كتابة الوسوم داخل ملف HTML عند اشتراك عنصرين مرنين في نفس رقم order.
للمراجعة
03 Focus Order Mismatch تعارض مسار التركيز البصري
مشكلة وصول تنشأ حين تبعثر خاصية order مواقع الأزرار بصرياً فتخالف مسار التنقل المنطقي لمفتاح Tab.
للمراجعة
04 Negative Order Promotion التقديم بالقيمة السالبة
إعطاء عنصر مرن قيمة سالبة مثل order: -1 ليتصدر العرض البصري قبل جميع أقرانه المحتفظين بالقيمة الافتراضية 0.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات3

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 3 مفهومةأول بطاقة، أول خطوة
01 DOM DOM
Document Object Model
شجرة عناصر المستند التي تحكم مسار مفتاح Tab ونطق قارئات الشاشة دون أن تتأثر بخاصية order البصرية.
للمراجعة
02 WCAG WCAG
Web Content Accessibility Guidelines
إرشادات الوصول العالمية لمحتوى الويب التي تشترط انسجام مسار التركيز مع الترتيب المنطقي المفهوم.
للمراجعة
03 CSS CSS
Cascading Style Sheets
لغة الأنماط التي تتيح تعديل الترتيب البصري للعناصر المرنة دون المساس ببنية HTML.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/2مهام منجزة
  1. افتح محرر الباقة المميزة وغيّر قيمة order في الصنف .plan-featured من -1 إلى 0 ثم إلى 1 لملاحظة انتقال البطاقة من البداية إلى النهاية.

  2. شغّل مثال اختبار لوحة المفاتيح، انقر داخل نافذة المعاينة واضغط مفتاح Tab ثلاث مرات للتأكد من أن التركيز يتبع تسلسل HTML الأصلي وليس الموضع البصري.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

8أسئلة 2أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي8 أسئلة تنتظرك
01

ما القيمة الابتدائية الافتراضية لخاصية order لكل عنصر مرن قبل تعديلها؟

02

في صف يضم ثلاثة عناصر افتراضية A ثم B ثم C، أين يظهر العنصر A بصرياً إذا أعطيته وحده القاعدة order: 1؟

03

كيف تنقل العنصر الثالث في HTML ليظهر أولاً على الشاشة دون الاضطرار لكتابة قواعد order لبقية أقرانه؟

04

على أي عنصر يجب كتابة خاصية order حتى تعمل بشكل صحيح؟

05

ماذا يحدث لتسلسل التنقل بمفتاح Tab ونطق قارئات الشاشة عند تغيير مواقع العناصر بصرياً عبر خاصية order؟

06

كيف يتعامل المتصفح مع كتابة قيمة عشرية مثل order: 1.5 في ورقة الأنماط؟

07

إذا اشترك عنصران مرنان في نفس الرقم الصحيح لخاصية order، يحسم المتصفح ترتيبهما وفق تسلسل ورودهما في كود HTML الأصلي.

08

تغيير قيمة order في CSS يعيد ترتيب العناصر فعلياً داخل شجرة DOM ويغيّر مسار التنقل بمفتاح Tab.