<ruby> قابل للكسر وخاصية محاذاة Ruby لـ CSS

Mariko Kosaka

عنصر HTML <ruby> هو أداة فعالة لتحسين عرض النص، خاصة بلغات شرق آسيا. يتيح لك هذا العنصر عرض التعليقات التوضيحية الصوتية أو المعلومات التكميلية الأخرى فوق النص الأساسي أو بجانبه. بدءًا من Chrome 128، سيصبح التعليق التوضيحي بلغة Ruby قابلاً للكسر أسطرًا، ويمكنك تصميم نص Rubby باستخدام السمة ruby-align CSS.

يتكوّن عنصر <ruby> من جزأين رئيسيين، هما قاعدة Ruby التي تمثل النص الرئيسي ونص Ruby الذي يمثل نص التعليق التوضيحي، ويتم ترميزه باستخدام العنصر <rt>. يمكن عرض نص ياقوت أحمر فوق قاعدة الياقوتية أو أسفلها، كما هو موضح في الأمثلة التالية.

<ruby>
  絵文字
  <rt>emoji</rt>
</ruby>
يتم لفظ الإنجليزية كتعليق توضيحي فوق النص الأساسي الياباني.
طريقة لفظ اللغة الإنجليزية كتعليق توضيحي على النص الأساسي في اللغة اليابانية

<ruby style="ruby-position: under;">
  강남대로
  <rt>江南大路</rt>
</ruby>
تمت إضافة تعليق توضيحي صيني أسفل الهانغل الكوري
تمت إضافة تعليق توضيحي صيني أسفل الهانغل الكوري.

لماذا تسمى روبي؟

عندما كان يتم تنضيد الكتب باستخدام الأنواع القابلة للنقل، كان يتم تحديد أحجام هذه الأنواع القابلة للنقل في أسماء ذات حجم نقطي، مثل Perl و"Diamond". تم استخدام ياقوت أحمر في النظام البريطاني للإشارة إلى حجم 5.5 نقطة. استخدمت الطابعات اليابانية حجمًا مشابهًا لـ Ruby (5.5 نقطة) لنص التعليق التوضيحي، لذا بدأت في الإشارة إلى نص التعليق التوضيحي نفسه باسم Ruby (أو Rubi صوتيًا) في المطبوعات. عند تضمين نص التعليق التوضيحي في HTML، تم تحديد العنصر على أنّه <ruby>. Pica (pc) هو اسم تاريخي آخر لحجم النقاط يُستخدم في CSS كوحدة حجم خط.

لعبة ياقوت حماسية غير قابلة للكسر

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

في المثال التالي، تتم إضافة Pinyin (كتابة الأحرف اللاتينية بالأحرف الصينية) كمجموعة واحدة من تعليقات الياقوتية على الشعر الصيني الكلاسيكي. يتم التفاف نتائج العرض الحالية داخل مساحة نص التعليق التوضيحي بلغة روبي.

يتم عرض نتيجة قبل الإصدار 128 من Chrome مع نص تعليق توضيحي طويل بلغة ياقوت.
نتيجة العرض قبل الإصدار 128 من Chrome مع نص تعليق توضيحي طويل باللون الياقوتي

يتم عرض المحتوى من الإصدار 128 من Chrome مع نص على شكل ياقوت أحمر يمكن كسره أسطر وتعليق توضيحي على شكل ياقوت مكتوب، فوق نص أساسي مغلَّف، ما يوفّر إمكانية عرض النص بشكل مثالي.

عرض نتيجة من الإصدار 128 من Chrome مع نص تعليق توضيحي طويل باللون ياقوتي
عرض نتيجة من Chrome 128 مع نص تعليق توضيحي طويل باللون الياقوتي

في مثال آخر من الأدب الياباني، يحدث فاصل السطر قبل عنصر الياقوت الطويل، مما يخلق مساحة فارغة في السطر الأول.

يتم عرض نتيجة قبل الإصدار 128 من Chrome مع نص ياقوت أحمر طويل.
عرض نتيجة قبل الإصدار 128 من Chrome مع نص ياقوت أحمر طويل

مع نمط ياقوت أحمر قابل للكسر، يتم وضع فاصل أسطر في منتصف عنصر ياقوت طويل لتحقيق تصميم مثالي.

يتم عرض نتيجة من الإصدار 128 من Chrome تحتوي على نص ياقوتي طويل.
عرض نتيجة من Chrome 128 مع نص ياقوت أحمر طويل.

ولن تفصل هذه الميزة نص ياقوتي القصير الذي يحتوي على أربعة أحرف أساسية أو يساويها وأقل من ثمانية أحرف للتعليقات التوضيحية أو يساويها.

عند تضمين عنصر <ruby> داخل عنصر <ruby> آخر، لن يُفصل عنصر <ruby> الداخلي فاصل أسطر.

ولأنّ هذا يؤدي إلى تغيير سلوك صفحات الويب الحالية التي تستخدم نصًا طويلاً بحروف ruby، إذا احتجت إلى إيقاف سلوك فواصل الأسطر، سيؤدي تطبيق white-space:nowrap إلى إيقاف فاصل الأسطر داخل العنصر الهدف كالمعتاد.

سمة ruby-align في CSS

دعم المتصفح

  • x
  • x
  • 38

المصدر

تتوفّر خاصية CSS الجديدة ruby-align أيضًا من الإصدار Chrome 128. تقبل السمة إحدى قيم الكلمات الرئيسية space-around وspace-between وstart وcenter، وتتحكّم في محاذاة نص Ruby الأساسي ونص التعليق التوضيحي بلغة Ruby.

صورة تعرض حالة الاستخدام لخاصية محاذاة Ruby.
صورة تعرض حالة استخدام خاصية Ruby-محاذاة