كيف يمكنني وضع مسافة قبل حرف الخيار النص في HTML حدد العنصر ؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

في قائمة منسدلة, أنا بحاجة إلى إضافة المساحات أمام خيارات في القائمة.أنا أحاول

<select>
<option>&#32;&#32;Sample</option>
</select>

إضافة اثنين من المساحات ولكنه يعرض أية مسافات.كيف يمكنني إضافة مسافات قبل الخيار النصوص ؟

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

المحلول

لا &#160 الجهة الفضاء ؟

<select>
<option>&#160;option 1</option>
<option>    option 2</option>
</select>

يعمل بالنسبة لي...

تحرير:

فقط التحقق من هذا الأمر ، قد تكون مشاكل التوافق مع المتصفحات القديمة ، ولكن يبدو أن كل شيء يعمل بشكل جيد بالنسبة لي هنا.فكرت فقط أن تتيح لك معرفة كما قد تحتاج إلى استبدال &nbsp;

نصائح أخرى

أعتقد أنك تريد &nbsp; أو &#160;

حتى نسخة ثابتة من المثال الخاص بك يمكن أن يكون...

<select>
  <option>&nbsp;&nbsp;Sample</option>
</select>

أو

<select>
  <option>&#160;&#160;Sample</option>
</select>

استخدام \xA0 مع سلسلة.هذا يعمل الكمال في حين ملزمة C# نموذج البيانات إلى القائمة المنسدلة...

  SectionsList.ForEach(p => { p.Text = "\xA0\xA0Section: " + p.Text; });

كما روب كوبر وأشار إلى أن هناك بعض مشاكل التوافق مع المتصفحات القديمة (IE6 سيتم عرض رسائل حقيقية " على& nbsp؛"

هذا هو كيف يمكنني الحصول على من حوله في ASP.Net (ليس لدي مباراة مفتوحة لذلك أنا لست متأكدا ماذا شخصيات هذا يحصل في الواقع ترجمة):

Server.HtmlDecode("&nbsp;") 

حاولت عدة أشياء ولكن الشيء الوحيد الذي عملت بالنسبة لي كان استخدام جافا سكريبت.فقط لاحظت أن أنا باستخدام رمز unicode الفضاء بدلا من html الكيان ، كما شبيبة doenst تعرف شيئا عن الكيانات

$("#project_product_parent_id option").each(function(i,option){
  $option = $(option);
  $option.text($option.text().replace(/─/g,'\u00A0\u00A0\u00A0'))
});

يمكنك أيضا الضغط على alt+space (ماك) غير كسر الفضاء.أنا استخدامها لمدة وحدة دروبال لأن دروبال يترجم html الكيانات.

أنا تقريبا متأكد أنك تستطيع إنجاز هذا مع CSS الحشو أيضا.ثم لن يكون متزوج من الفضاء الشخصيات يجري ترميز-الثابت في جميع <option> العلامات.

@براين

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

تفكير جيد - ولكن للأسف لا يعمل في (المفضل لدى الجميع المتصفح...) IE7 :-(

هنا بعض التعليمات البرمجية التي سوف تعمل في فايرفوكس (وأفترض Op/Saf).

<select>
    <option style="padding-left: 0px;">Blah</option>
        <option style="padding-left: 5px;">Blah</option>
            <option style="padding-left: 10px;">Blah</option>
    <option style="padding-left: 0px;">Blah</option>
        <option style="padding-left: 5px;">Blah</option>
</select>

مجرد استخدام شار 255 (نوع Alt+2+5+5 على لوحة المفاتيح الرقمية) مع monospace مثل Courier New.

Server.HtmlDecode("&nbsp;") هي الوحيدة التي عملت بالنسبة لي.

وإلا فإن chr يتم طباعة النص.

حاولت إضافة الحشو بوصفها سمة عنصر القائمة ، ومع ذلك لم تؤثر عليه.

&nbsp;

يمكنك أن تجرب ذلك ؟ أم هو نفسه ؟

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

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

لذلك عند إضافة عنصر القائمة في القائمة المنسدلة وتريد إضافة الفضاء ثم استخدام ما يلي:-

اضغط ALT و نوع 0160 على لوحة المفاتيح الرقمية ، لذلك ينبغي أن يكون شيء من هذا القبيل ALT+0160.فإنه سيتم إضافة مساحة.

ListItem("ALT+0160 ALT+0160 TEST", "TESTVAL")

لقد حاولت العديد من هذه الأمثلة ، ولكن الشيء الوحيد الذي كان يعمل باستخدام جافا سكريبت ، مثل الكثير من dabobert لكن لا مسج فقط الفانيليا سهل القديمة جافا سكريبت و المساحات:

for(var x = 0; x < dd.options.length; x++)
{
    item = dd.options[x];
    //if a line that needs indenting
    item.text = '     ' + item.text; //indent
}

هذا هو IE فقط.IE11 في الواقع.آآخ.

1.البنود العودة إلى القائمة

2.حلقة Foreach في قائمة

3..

foreach (var item in q)
{
    StringWriter myWriter = new StringWriter();

    myWriter.Lable = HttpUtility.HtmlDecode(item.Label.Replace(" ", "&nbsp;"));
}

هذا العمل بالنسبة لي!!!

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