التفاف النص في CSS: جميل

يمكنك تفعيل ميزة "لف النص" المحسّنة للحصول على مظهر أفضل بدلاً من السرعة.

Adam Argyle
Adam Argyle

من الإصدار 117 من Chrome، يمكنك استخدام ميزة جديدة للف النص، وهي text-wrap: pretty من مستوى نص CSS 4.

p {
  text-wrap: pretty;
}
https://codepen.io/web-dot-dev/pen/yLGmzLJ

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

تظهر فقرة مع أرملة في بدايتها وأخرى يتيمة في النهاية، مقارنةً بالفقرة نفسها بدون الأرامل أو الأرامل.
مصدر الصورة: Google Fonts: Widows & Orphans

اعتبارًا من الإصدار 117 من Chrome، يمكن تجنُّب العناصر الوحيدة في سطر باستخدام سطر واحد من CSS: text-wrap: pretty.

لا تقتصر هذه الميزة على ضمان عدم انتهاء الفقرات بكلمات مفردة، بل تعمل أيضًا على تعديل علامات الفصل إذا ظهرت أسطر متتالية مُفصَّلة في نهاية الفقرة أو تعديل الأسطر السابقة لإفساح المجال. وسيتم أيضًا تعديله بشكل مناسب لمحاذاة النص. يُستخدَم الرمز text-wrap: pretty لتحسين عملية لفّ السطور واقتطاع النص بشكل عام، مع التركيز حاليًا على الكلمات التي تنتهي في سطر فارغ. وقد نضيف في المستقبل المزيد من التحسينات إلى text-wrap: pretty.

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

هناك أيضًا العلامة text-wrap: balance التي لا تمنع الأطفال الأيتام، ولكنها تضمن التفاف النص بطريقة تؤدي إلى إنشاء كتلة نصية متناغمة. أنا شخصيًا أستخدم balance للعناوين وpretty للفقرات.

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

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