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

الخصائص المنطقية في لغة CSSCSS Logical Properties

ابنِ واجهات عربية وإنجليزية متكيفة تلقائياً بملف أنماط واحد عبر الخصائص المنطقية للأبعاد والهوامش والحشوات والإطارات وتدوير الزوايا وإزاحات التموضع المرتبطة باتجاه تدفق النص.
أقسام الدرس
8
الأمثلة
3
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
2
محتوى الدرس
في هذا الدرس 8تصفّح المواضيع

ترتبط خصائص الصندوق التقليدية في CSS — مثل margin-left وpadding-right وborder-left وright: 12px — باتجاهات الشاشة الفيزيائية الثابتة. فعند تصميم بطاقة تنبيه إنجليزية بشريط جانبي عبر border-left وهامش أيقونة عبر margin-right، تنكسر الواجهة فوراً عند تحويل الصفحة إلى العربية dir="rtl"؛ إذ يظل الشريط عالقاً في اليسار خلف نهاية الجملة وتلتصق الأيقونة بالكلمة العربية الأولى.

تحل الخصائص المنطقية هذه المشكلة جذرياً؛ فبدلاً من تقييد التصميم باليمين واليسار الثابتين، تصف الأبعاد والمسافات نسبةً إلى بداية التدفق ونهايته، ليتكيف ملف أنماط واحد تلقائياً مع العربية والإنجليزية دون كتابة قواعد استثنائية مكررة.

مخطط توضيحي يبين كيف تنعكس الخصائص المنطقية تلقائياً بين الاتجاه العربي والاتجاه الإنجليزي

تعتمد جميع الخصائص المنطقية على محورين قياسيين يتبعان حركة القراءة:

  • المحور السطري Inline Axis: يمتد بموازاة سطر الكلمات؛ فحافته الابتدائية inline-start تمثل اليمين في العربية rtl واليسار في الإنجليزية ltr، بينما تمثل حافته الختامية inline-end اليسار بالعربية واليمين بالإنجليزية.
  • المحور الكتلي Block Axis: يمتد باتجاه تتابع الفقرات؛ ففي الوضع الأفقي الافتراضي horizontal-tb توافق بداية الكتلة block-start الأعلى، وتوافق نهايتها block-end الأسفل في اللغتين معاً.

تستبدل خصائص الأبعاد المنطقية كلاً من العرض والارتفاع الفيزيائيين بأبعاد مرنة تتبع محاور الكتابة النشطة:

  • الحجم السطري inline-size وحدوده min-inline-size وmax-inline-size: يضبط امتداد العنصر على طول السطر، فيكافئ width وحدوده في الوضع الأفقي، ويتحول تلقائياً لضبط الطول العمودي عند تدوير العنصر بوضع كتابة عمودي.
  • الحجم الكتلي block-size وحدوده min-block-size وmax-block-size: يضبط بُعد تكدس الكتل، فيكافئ height وحدوده في الوضع الأفقي المعتاد.

فعند كتابة max-inline-size: 420px مع min-block-size: 120px تحصل على صندوق متجاوب يحافظ على تناسقه سواء عُرض أفقياً أو عمودياً.

بدلاً من كتابة استثناءات منفصلة لمسافات الأيقونات والقوائم عند تعريب الواجهة، توفر الهوامش والحشوات المنطقية خصائص فردية ومختصرة بالغة الوضوح:

  • خصائص الحافة الواحدة: margin-inline-start وmargin-inline-end وmargin-block-start وmargin-block-end، ويقابلها تماماً في الحشوات الداخلية padding-inline-start وpadding-inline-end وpadding-block-start وpadding-block-end.
  • المختصرات المحورية: تتيح قاعدة margin-inline: auto توسيط الحاوية أفقياً بسطر واحد، كما تضبط padding-inline: 16px حشوة البداية والنهاية معاً، وتضبط padding-block: 10px الحشوة العلوية والسفلية معاً.
CSS
.action-btn {
  padding-block: 8px;
  padding-inline: 16px;
}
.btn-icon {
  margin-inline-end: 8px;
}

تستخدم صناديق الملاحظات والاقتباسات وعناصر القوائم النشطة شريطاً جانبياً ملوناً عند بداية السطر مع زوايا دائرية في الجهة المقابلة. وتوفر خصائص الإطارات والزوايا المنطقية تحكماً كاملاً يتبع اتجاه اللغة تلقائياً:

  • الإطارات المنطقية: border-inline-start وborder-inline-end وborder-block-start وborder-block-end، إضافة إلى المختصرين border-inline وborder-block.
  • تدوير الزوايا المنطقي: يُكتب بترتيب المحور الكتلي أولاً ثم السطري عبر الأربع خصائص border-start-start-radius وborder-start-end-radius وborder-end-start-radius وborder-end-end-radius.
CSS
.callout-note {
  border-inline-start: 5px solid #0f766e;
  border-start-end-radius: 12px;
  border-end-end-radius: 12px;
  padding-block: 10px;
  padding-inline: 14px;
}

تعتمد أزرار الإغلاق وشارات الإشعارات العلوية على التموضع المطلق position: absolute داخل بطاقة نسبية position: relative. وعند تثبيت الشارة فيزيائياً بقاعدة right: 10px فإنها تصطدم بعنوان البطاقة العربي فور تحويل الاتجاه إلى dir="rtl".

تعالج عائلة inset المنطقية إزاحات التموضع بمرونة تامة:

  • الإزاحة الكتلية inset-block-start وinset-block-end: تحل محل top وbottom في الوضع الأفقي.
  • الإزاحة السطرية inset-inline-start وinset-inline-end: تثبت الشارة في الزاوية الختامية عبر inset-inline-end: 10px فتظهر أقصى اليمين بالإنجليزية وتنتقل تلقائياً لأقصى اليسار بالعربية.
  • المختصرات: inset-block وinset-inline والمختصر الشامل inset: 0 لملء الحواف الأربع بقاعدة واحدة.

لا تقتصر المنطقية على أسماء الخصائص الجديدة، بل تمتد أيضاً إلى قيم محاذاة النصوص والطفو لضبط الجداول والنماذج والصور المرافقة للمقالات تلقائياً:

  • المحاذاة المنطقية text-align: start وtext-align: end: تحل محل left وright الصريحتين؛ فتضمن start محاذاة العناوين وخلايا الجداول مع بداية اللغة، وتضمن end محاذاة أعمدة الإجراءات والأزرار عند حافة النهاية.
  • الطفو والمسح المنطقي float: inline-start وfloat: inline-end مع clear: inline-start وclear: inline-end: تضع الصورة الرمزية للكاتب في بداية الفقرة يميناً بالعربية ويساراً بالإنجليزية تلقائياً.

لنجمع الآن الأبعاد والهوامش والحشوات والإطارات وتدوير الزوايا وإزاحات التموضع المنطقية في ملف أنماط موحد لبطاقة منتج متكاملة تعمل بالعربية dir="rtl" والإنجليزية dir="ltr" معاً دون سطر استثنائي واحد:

CSS
.product-card {
  max-inline-size: 320px;
  padding-block: 14px;
  padding-inline: 16px 64px;
  border-inline-start: 5px solid #7750b2;
}
.price-tag {
  inset-block-start: 14px;
  inset-inline-end: 14px;
}

احتفظ بجدول التحويل الشامل التالي كمرجع عملي سريع عند ترقية الأنماط الفيزيائية إلى خصائص منطقية حديثة:

الخاصية الفيزيائية التقليديةالبديل المنطقي الحديثسلوكها التلقائي في العربية RTL
width وheightinline-size وblock-sizeالعرض الأفقي والارتفاع الرأسي في الوضع الأفقي
margin-left وmargin-rightmargin-inline-start وmargin-inline-endالبداية من اليمين والنهاية من اليسار تلقائياً
حشوة جانبية متناظرةpadding-inline: 16pxتطبيق 16px على حافتي اليمين واليسار معاً
border-leftborder-inline-startينتقل الشريط الجانبي الملون إلى حافة اليمين
border-top-right-radiusborder-start-end-radiusتدوير الزاوية العلوية اليسرى المقابلة لنهاية السطر
top مع rightinset-block-start مع inset-inline-endتثبيت الشارة في الزاوية العلوية اليسرى بالعربية
text-align: left وfloat: lefttext-align: start وfloat: inline-startمحاذاة وطفو تلقائي نحو بداية السطر اليمنى
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

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

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

أتقنت في ملخص الدرس بناء واجهات ثنائية اللغة بملف أنماط واحد عبر الأبعاد المنطقية inline-size وblock-size، والهوامش والحشوات السطرية والكتلية، والإطارات وتدوير الزوايا، وإزاحات التموضع بعائلة inset، ومحاذاة النصوص ببداية التدفق ونهايته. وفي الخطوة التالية ستنتقل إلى درس نقطة أصل صورة الخلفية background-origin في لغة CSS لضبط مرجع تموضع الخلفيات بدقة داخل صناديق العناصر.

مشاركة

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

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

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

المصطلحات4

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

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Logical Properties الخصائص المنطقية
خصائص تنسيق ترتبط ببداية ونهاية تدفق النص والكتل بدلاً من الاتجاهات الفيزيائية الثابتة فتتكيف تلقائياً مع لغة الصفحة.
للمراجعة
02 Inline Axis المحور السطري
المحور الموازي لاتجاه قراءة الكلمات داخل السطر الواحد، ويمتد من اليمين لليسار بالعربية ومن اليسار لليمين بالإنجليزية.
للمراجعة
03 Block Axis المحور الكتلي
المحور الذي تتراص على امتداده الفقرات المتعاقبة، ويمتد من الأعلى إلى الأسفل في وضع الكتابة الأفقي للغتين.
للمراجعة
04 Inset Properties خصائص الإزاحة inset
عائلة إزاحات التموضع المنطقية التي تحل محل الاتجاهات الأربعة الفيزيائية لتثبيت الشارات والأزرار بما يوافق اتجاه اللغة.
للمراجعة

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

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

الاختصارات3

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

0 / 3 مفهومةأول بطاقة، أول خطوة
01 RTL RTL
Right-to-Left
اتجاه المستند للغة العربية حيث توافق بداية السطر inline-start جهة اليمين ونهايته inline-end جهة اليسار.
للمراجعة
02 LTR LTR
Left-to-Right
اتجاه المستند للغة الإنجليزية حيث توافق بداية السطر inline-start جهة اليسار ونهايته inline-end جهة اليمين.
للمراجعة
03 I18N I18N
Internationalization
نهج هندسة الواجهات باستخدام الخصائص المنطقية لتعمل بتناسق تام عبر اللغات واتجاهات الكتابة المتعددة دون إعادة بناء.
للمراجعة

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

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

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

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

0/2مهام منجزة
  1. استبدل الإطار الأيسر وتدوير الزوايا الفيزيائي بخصائص البداية السطرية وزوايا النهاية المنطقية واختبر البطاقة بالاتجاه العربي.

  2. ثبّت شارة ذات تموضع مطلق داخل بطاقة نسبية باستخدام بداية الكتلة ونهاية السطر حتى تنتقل تلقائياً بعيداً عن العنوان العربي.

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

مساحة التحدي

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

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

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

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

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

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

في صفحة عربية باتجاه يمين إلى يسار ووضع كتابة أفقي، على أي حافة فيزيائية يُرسم إطار border-inline-start؟

02

ما الخاصية المنطقية البديلة لخاصية أقصى عرض max-width في التخطيطات الأفقية؟

03

عند كتابة المختصر padding-inline بقيمتين هما 12px ثم 32px، كيف يوزعهما المتصفح؟

04

أي خاصية لتدوير الزوايا المنطقية تدوّر الزاوية العلوية اليسرى في بطاقة عربية باتجاه RTL؟

05

ما زوج الإزاحات المنطقية الذي يثبت زر الإغلاق في الزاوية العلوية الختامية للبطاقة باللغتين معاً؟

06

أي قيمة في خاصية محاذاة النص تحاذي خلايا رؤوس الجداول مع بداية القراءة في العربية والإنجليزية تلقائياً؟

07

كتابة المختصر margin-inline بقيمة auto يوسط العنصر الكتلي المحدد العرض أفقياً في وضع الكتابة الأفقي.

08

في أسماء زوايا التدوير المنطقية مثل border-start-end-radius تشير الكلمة الأولى للمحور السطري والثانية للمحور الكتلي.