0Pricing
HTML Academy · درس

عنصرا bdi وbdo

عزل اتجاه النص وتجاوزه باستخدام bdi وbdo

عنصرا bdi وbdo درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.

لماذا نستخدم عناصر التحكم في Bidi؟

تتعامل خوارزمية Unicode ثنائية الاتجاه عادةً مع النص المختلط الاتجاهات بصورة جيدة، لكنك تحتاج أحيانًا إلى تجاوزها، مثل عزل اسم أدخله المستخدم كي لا يغيّر اتجاه النص المحيط، أو فرض اتجاه محدد داخل كتلة من التعليمات البرمجية.

عنصر bdi

يتعامل <bdi> (العزل ثنائي الاتجاه) مع محتواه كسياق bidi منفصل. ولا يمكن لاتجاه النص داخل <bdi> أن يؤثر في اتجاه النص خارجها، والعكس صحيح.

<p>User <bdi>{username}</bdi> posted at 12:34</p>

حالة الاستخدام: أسماء المستخدمين

قد تؤدي قائمة تضم أسماء بالإنجليزية والعربية إلى تسرّب اتجاه RTL من الأسماء العربية إلى النص المحيط. ويؤدي تغليف كل اسم داخل <bdi> إلى عزله، فيبقى التخطيط متسقًا بصرف النظر عن اتجاه كل اسم.

عنصر bdo

يفرض <bdo dir="rtl"> (التجاوز ثنائي الاتجاه) اتجاهًا محددًا على محتواه، متجاوزًا الحل الطبيعي للاتجاهات الثنائية. استخدمه عندما تريد عرض النص في اتجاه غير طبيعي، مثل عرض مقاطع التعليمات البرمجية من اليسار إلى اليمين داخل صفحة RTL.

<bdo dir="ltr">someEnglishCode();</bdo>

الفرق عن dir

تعيّن السمة dir على عنصر عادي اتجاهًا أساسيًا، مع استمرار تطبيق خوارزمية bidi داخله. أما <bdo> فيعطّل خوارزمية bidi لمحتواه؛ لذلك يتدفق كل محرف بدقة في الاتجاه المحدد، بصرف النظر عن نظام كتابته.

متى تستخدم bdi

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

متى تستخدم bdo

نادراً. الاستخدام المشروع الأساسي هو تعليم النص ثنائي الاتجاه (إظهار الشكل الذي تبدو عليه السلسلة عند عكسها) أو تصحيح البيانات ذات الوسوم غير الصحيحة عندما ينتج عن معالجة bidi الطبيعية ترتيب مرئي خاطئ.

بالجمع مع dir="auto"

بالنسبة إلى المحتوى الذي يدخله المستخدم ولا يُعرف اتجاهه، اجمع بين <bdi dir="auto"> لمزيد من الأمان: يحدد الاكتشاف التلقائي اتجاهًا أساسيًا من المحتوى، بينما يمنع bdi تسرّب هذا الاتجاه إلى النص المحيط.

دعم المتصفحات

تحظى bdi وbdo بالدعم في جميع المتصفحات الحديثة. وهما جزء من HTML5 ومستقرتان منذ سنوات. تفتقر الإصدارات القديمة من IE إلى bdi، لكنها أصبحت متقادمة عمليًا؛ ويمكن للمواقع الحديثة استخدام bdi بحرية.

إمكانية الوصول

تحترم قارئات الشاشة عزل اتجاه bidi: يُنطق النص داخل <bdi> باستخدام صوت لغته الخاصة (عند ضبط lang)، من دون أن يتسرّب السياق المحيط إليه. ويساعد bdi أيضًا ميزة تحويل النص إلى كلام على إنشاء فواصل مناسبة حول العبارات المعزولة.

نمط شائع: i18n في القوالب

ينبغي للقوالب التي تحتوي على عناصر نائبة ("Welcome, {name}") أن تُحاط فيها العناصر النائبة بـ <bdi>: Welcome, <bdi>{name}</bdi>. سيُعرض أي اسم مستخدم — بالإنجليزية أو العربية أو بمزيج منهما — بشكل صحيح من دون التأثير في بقية التحية.

اختبار المعرفة

ما الفرق العملي بين و؟

الملخص

يعزل bdi اتجاه نص قسم ما بحيث لا يؤثر في ما يحيط به — استخدمه للمحتوى المضمّن الذي يدخله المستخدم، مثل الأسماء في القوالب. يفرض bdo اتجاهًا محددًا متجاوزًا bidi، ولا تكون الحاجة إليه شائعة خارج أمثلة التعليم. اجمع بين bdi وdir="auto" للتعامل الآمن مع النص الذي يقدمه المستخدم بلغات غير معروفة.

الأسئلة الشائعة

هل درس «عنصرا bdi وbdo» مجاني؟

نعم — نص درس «عنصرا bdi وbdo» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.

ماذا ستتعلم في «عنصرا bdi وbdo»؟

عزل اتجاه النص وتجاوزه باستخدام bdi وbdo تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟

لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «عنصرا bdi وbdo»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟

نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. السمة lang وقارئات الشاشة
  2. dir=rtl للنص من اليمين إلى اليسار
  3. عنصرا bdi وbdo
  4. charset ومعالجة Unicode للأحرف الخاصة
← العودة إلى HTML Academy