كيفية dispay قائمة غير مرتبة مضمنة مع الرصاص؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

لدي ملف html مع قائمة غير مرتبة.أريد إظهار عناصر القائمة أفقيًا مع الاحتفاظ بالرموز النقطية.بغض النظر عما أحاول، كلما قمت بتعيين النمط على السطر لتلبية المتطلبات الأفقية، لا يمكنني عرض التعداد النقطي.

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

المحلول

أفضل خيار رأيته في الإجابات الأخرى هو الاستخدام float:left;.لسوء الحظ، فإنه لا يعمل في IE7 وهو مطلب هنا* — مازلت تفقد الرصاصة.أنا لست حريصًا حقًا على استخدام صورة الخلفية أيضًا.

ما سأفعله بدلاً من ذلك (الذي لم يقترحه أي شخص آخر، ومن هنا جاءت الإجابة الذاتية) هو إضافة الإضافة يدويًا • إلى ملف HTML الخاص بي، بدلاً من تصميم هذا.إنه أقل من مثالي، لكنه الخيار الأكثر توافقًا الذي وجدته.


يحرر: *يحيط القراء الحاليون علما بتاريخ النشر الأصلي.من غير المرجح أن يكون IE7 مصدر قلق بعد الآن.

نصائح أخرى

واجهت نفس المشكلة، ولكن فقط في Internet Explorer (اختبرت الإصدار 7) - وليس في Firefox 3 أو Safari 3.باستخدام :قبل المحدد يعمل بالنسبة لي:

ul.tabs li {
  list-style: none;
  float: left;
}
ul.tabs li:before {
  content: '\ffed';
  margin-right: 0.5em;
}

أنا أستخدم رمزًا نقطيًا مربعًا هنا، لكن الرمز النقطي العادي \2022 سيعمل بنفس الطريقة.

يمكنك أيضًا استخدام صورة خلفية على العناصر <li>، مع حشوة لمنع النص من التداخل معها.

li {
  background-image: url(i/bullet.gif) no-repeat center left;
  padding-left: 20px;
  display: inline;
}

يعرض المتصفح الرموز النقطية لأن خاصية النمط "عرض" تم تعيينها في البداية على "عنصر القائمة".يؤدي تغيير خاصية العرض إلى "مضمنة" إلى إلغاء كافة الأنماط الخاصة التي تحصل عليها عناصر القائمة.يجب أن تكون قادرًا على محاكاتها باستخدام المحدد:before وخاصية المحتوى، ولكن IE (على الأقل حتى الإصدار 7) لا يدعمهما.من المحتمل أن تكون محاكاتها بصورة خلفية هي أفضل طريقة عبر المتصفحات للقيام بذلك.

إنه في الواقع إصلاح بسيط للغاية.أضف ما يلي إلى ul:

display:list-item;

ستؤدي إضافة سطر CSS هذا إلى إضافة النقاط.

أبقِهم محظورين على العرض، وامنحهم عرضًا وطفوًا إلى اليسار.

وهذا سيجعلهم يجلسون جنبًا إلى جنب، وهو ما يشبه السطر، ويجب أن يحافظوا على نمط القائمة.

هل جربت float: left على الخاص بك <li/>؟شيء من هذا القبيل:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <style type="text/css">
        ul li {
            float: left;
            margin-left: 2em;
        }
    </style>
</head>
<body>
    <ul>
        <li>test</li>
        <li>test2</li>
    </ul>
</body>
</html>

لقد اختبرت Firefox 3.0.1 فقط، وهو يعمل هناك.ال margin تم تعيينه لأن الرمز النقطي الخاص بك يتداخل مع العنصر السابق.

إضافة:كن حذرًا من أنه عندما تقوم بتعويم العناصر، فإنك تقوم بإزالتها من التدفق الطبيعي، مما يؤدي بدوره إلى حدوث ذلك <ul/> أن لا يكون هناك ارتفاع.إذا كنت تريد إضافة حدود أو شيء من هذا القبيل، فسوف تحصل على نتائج غريبة.

إحدى الطرق لإصلاح ذلك هي إضافة ما يلي إلى أنماطك:

ul {
    overflow: auto;
    background: #f0f;
}

لقد كنت أعبث وواجهت نفس المشكلة مع نفس قيود المتصفح؛عندما بحثت عن إجابة ظهرت مشاركتك بدون الإجابة.ربما يكون هذا قد فات الأوان لمساعدتك، لكنني اعتقدت أنه من أجل الأجيال القادمة يجب أن أنشره.

كل ما فعلته لحل مشكلتي هو تضمين قائمة أخرى تحتوي على عنصر واحد داخل كل عنصر قائمة في القائمة الأولى؛مثل ذلك...

لغة البرمجة:

<div class="block-list">
  <ul>
    <li><ul><li>a</li></ul></li>
    <li><ul><li>b</li></ul></li>
    <li><ul><li>c</li></ul></li>
  </ul>
</div>

CSS:

.block-list > ul > li { display: inline; float: left; }

صفحة IE7:

    o a o b o c

…إنه حل غبي، ولكن يبدو أنه يعمل.

يمكنك استخدام كيانات الأحرف، راجع المرجع: http://dev.w3.org/html5/html-author/charref

<ul class="inline-list>
  <li> &bullet; Your list item </li>
</ul>

في HTML، قمت بإضافة فاصل بعد كل لي مثل هذا:

<li>Water is Sacred</li><br>
<li>Water is Sacred</li><br>
<li>Water is Sacred</li><br>
<li>Water is Sacred</li><br>
<li>Water is Sacred</li><br>
<li>Water is Sacred</li><br> 

و CSS:

li { float:left; }

يمكنك استخدام الكود التالي

li {
    background-image: url(img.gif) no-repeat center left;
    padding-left: 20px;
    display: inline;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top