مساحة غير تجميع ولكن لا تزال (خط) قابلة للكسر في HTML؟

StackOverflow https://stackoverflow.com/questions/605360

  •  03-07-2019
  •  | 
  •  

سؤال

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

تنهار المسافة البيضاء العادية (يبدو أن مساحات المساحات هي نفسها مساحة واحدة) ، وفي المساحة غير الكارثة () لا يمكن كسر الخط.

تحديث: أعتقد أن ما أريده حقًا هو علامة pre > التي لا يزال بإمكانها كسر الخطوط الطويلة (أحتاج إلى عرض التعليمات البرمجية المصدر).

هل كانت مفيدة؟

المحلول

ماذا عن مساحات em واحدة أو أكثر ()؟ منحت ، هذا يعتمد على حجم خط خط المستخدم. إذا كان هذا لا يعمل حقًا في تصميمك ، ففكر في مساحة EN ().

قد ترغب أيضًا في النظر إلى هذا الجدول من المساحات المختلفة على ويكيبيديا.

نصائح أخرى

لدي بالفعل الإجابة الدقيقة التي تبحث عنها. لقد بحثت في كل مكان عن هذه الإجابة ولا شيء اقترحه أي شخص يعمل بشكل مثالي. لذلك ، فكرت في حل وجربته وتم وضعه على الأرض أنه عمل دون أي عيب!

جارو كان على حق في الواقع (لم يشرح ذلك أو يأخذه على طول الطريق). الحل بدلاً من وضعه &nbsp; وحده ، ضع &nbsp;<wbr>. فقط قم بالبحث البسيط واستبداله وأضفه <wbr> علامة بعد كل &nbsp;. يعمل تماما!

ال <wbr> العلامة هي علامة غير معروفة معروفة في جميع المتصفحات الرئيسية التي تخبر المتصفح بوضع خط جديد هنا فقط إذا كان هناك حاجة.

تحديث: لقد وجدت متصفحًا واحدًا لا يعمل هذا بشكل صحيح - أي 8! لقد أخرجوا بالفعل <wbr> بطاقة شعار! لقد قمت بحل هذه المشكلة عن طريق إنشاء فصل دراسي يقول:

.wbr:before { content: "\200B" }

وبدلاً من الاستبدال &nbsp; مع &nbsp;<wbr>, ، استبدله بما يلي:

&nbsp;<wbr><span class='wbr'></span>

في PHP ، سيبدو هذا:

$text = str_replace(" ","&nbsp;<wbr><span class='wbr'></span>", $text);

لا تنس إضافة الفصل أيضًا.

من الواضح أن هذا هو الإفراط في الإفراط في الوقت الحالي ، ويحل محل مساحة واحدة بكل ذلك ، لكنه يعمل كما هو مطلوب ، وبما أنني لم أرَ العلامات التي نجحت بالنسبة لي.

إذا كان هذا فوضويًا للغاية ، فهو حل آخر هو تبادل المساحات المزدوجة لـ &nbsp; تليها مساحة طبيعية. هذا سوف يتناوب &nbsp; والمساحات العادية والأعمال في اختباراتي.

في PHP ، سيبدو هذا:

$text = str_replace("  ","&nbsp; ", $text);

أتمنى أن يساعدك هذا! أضع ما يكفي من الأبحاث في هذا ؛ اعتقدت أنني يجب أن تمريرها.

ألن تعمل المسافة بين اثنين من المساحين غير المتجولين؟

ماذا عن u003Cwbr>?

إذا كنت لا تستهدف أي (باستثناء 8 ، وضع المعايير):

<span style="white-space: pre-wrap">   </span>

ل IE ، <span style="width:3ex"></span> يعمل في وضع المراوغات ، لذلك دمجهم و ...

<span style="width:3ex;white-space:pre-wrap">   </span>

الذي يبدو أنه يعمل في كل مكان حاولت ... باستثناء معايير IE7. دو!

ماذا عن اثنين &nbsp;تليها مساحة منتظمة؟ العيب الوحيد لذلك (على حد علمي) هو أنه إذا انخفض كسر السطر بشكل طبيعي في المساحة العادية ، فستكون لديك مساحة زائدة على الخط السابق بسبب المساحات غير المتجددة ، لكنني لا ألتقط أعتقد أن هذا من شأنه أن يحدث فرقًا في المظهر الفعلي للصفحة.

قد يكون من الأفضل التراجع عن خطوة إلى الوراء واسأل ما الذي تحاول تقديمه. ماذا تشير هذه المساحة الإضافية؟

يعطي 100 بكسل إلى المساحة اليسرى بين مثال مسافات النص

SPAN Style = "Margin-Left: 100px ؛"

(N_N)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top