ฉันต้องการรายชื่อที่ไม่มีการเรียงลำดับโดยไม่มีสัญลักษณ์แสดงหัวข้อย่อยใด ๆ


2507

ฉันสร้างรายการที่ไม่ได้เรียงลำดับแล้ว ฉันรู้สึกว่าสัญลักษณ์แสดงหัวข้อย่อยในรายการที่ไม่ได้เรียงลำดับนั้นน่ารำคาญดังนั้นฉันจึงต้องการลบออก

เป็นไปได้ไหมที่จะมีรายการที่ไม่มีสัญลักษณ์แสดงหัวข้อย่อย?

คำตอบ:


3688

คุณสามารถเอากระสุนโดยการตั้งค่าlist-style-typeไปnoneใน CSS สำหรับองค์ประกอบหลัก (โดยปกติจะเป็น<ul>) ตัวอย่างเช่น:

ul {
  list-style-type: none;
}

คุณอาจต้องการเพิ่มpadding: 0และmargin: 0ลบหากคุณต้องการลบการเยื้องเช่นกัน

ดูบทแนะนำสำหรับเทคนิคการจัดรูปแบบรายการ


@tovmeod ดูเหมือนว่าจะทำงานได้ดีใน IE9 ของฉัน (บน Win7) (มันเป็นหน้าซับซ้อนไม่ได้เป็น POC ง่ายอาจจะเป็นอย่างอื่นการเปลี่ยนแปลงพฤติกรรม)
เดวิดBalažic

1
หากคุณเป็นเหมือนฉันและมองหาวิธีลบการเยื้องดูที่นี่ - stackoverflow.com/a/13939142/846727
Kunal

6
โอ้กี่ครั้งแล้วที่ฉันได้กลับมาที่นี่เพื่อคัดลอก / วาง :)
Jonathan.Brink

สัมผัสที่ดีในการขยายและระยะขอบ
Evgenii Klepilin

588

หากคุณใช้ Bootstrap จะมีคลาส "unstyled":

ลบ list-style เริ่มต้นและ padding ด้านซ้ายบนรายการ

Bootstrap 2:

<ul class="unstyled">
   <li>...</li>
</ul>

http://twitter.github.io/bootstrap/base-css.html#typography

Bootstrap 3 และ 4:

<ul class="list-unstyled">
   <li>...</li>
</ul>

Bootstrap 3: http://getbootstrap.com/css/#type-lists

Bootstrap 4: https://getbootstrap.com/docs/4.3/content/typography/#unstyled


2
ถ้าเราแสดงรายการคลาสสำหรับทุกเฟรมเวิร์ก CSS เราจะยุ่งกับ StackOverflow การค้นหาอย่างรวดเร็วของ Google พบว่า Bootstrap มีการใช้งานเพียง 2% ของเว็บไซต์ที่อยู่ในจุดสูงสุดและแน่นอนว่าต้องตกอยู่กับการเปิดตัวโซลูชันที่เหมาะสมกว่าเช่น flexbox และ css grid
PJ Brunet

4
จริงๆแล้วคำตอบนี้เป็นสิ่งที่ฉันกำลังมองหา และ Bootstrap นั้นใช้งานได้ 3.6% ของอินเทอร์เน็ตทั้งหมดดังนั้นมันจึงไม่ล้ม Trends.builtwith.com/docinfo/Twitter-Bootstrap การค้นหาอย่างรวดเร็วของ Google แสดงให้เห็นว่า Bootstrap นั้นถูกจัดวางอย่างต่อเนื่องในหมวดหมู่ "เฟรมเวิร์ก CSS นิยมที่สุด"
Bobort

209

คุณต้องใช้ list-style: none;

<ul style="list-style: none;">
    <li>...</li>
</ul>

4
ระวังว่า inline css เขียนทับ css ในไฟล์ ขึ้นอยู่กับแนวทางปฏิบัติของแอพพลิเคชั่น / การพัฒนามันอาจจะน่ารำคาญจริงๆ
Mark Baijens

39

การปรับแต่งเล็กน้อยสำหรับคำตอบก่อนหน้านี้: หากต้องการให้บรรทัดที่ยาวกว่าอ่านง่ายขึ้นหากมีการรั่วไหลไปยังบรรทัดหน้าจอเพิ่มเติม:

ul, li {list-style-type: none;}

li {padding-left: 2em; text-indent: -2em;}

ใช้งานได้ แต่เฉพาะกับ IE8
Underverse

มันไม่จำเป็นที่จะนำlist-style-type: none;ทั้งในและul liคุณสามารถทำได้
mfluehr

14

หากคุณไม่สามารถทำให้มันทำงานใน<ul>ระดับที่คุณอาจต้องวางlist-style-type: none;ใน<li>ระดับ:

<ul>
    <li style="list-style-type: none;">Item 1</li>
    <li style="list-style-type: none;">Item 2</li>
</ul>

คุณสามารถสร้างคลาส CSS เพื่อหลีกเลี่ยงการทำซ้ำ:

<style>
ul.no-bullets li
{
    list-style-type: none;
}
</style>

<ul class="no-bullets">
    <li>Item 1</li>
    <li>Item 2</li>
</ul>

เมื่อจำเป็นให้ใช้ !important :

<style>
ul.no-bullets li
{
    list-style-type: none !important;
}
</style>

14

ฉันใช้ list-style ทั้ง ul และ li เพื่อลบหัวข้อย่อย ฉันต้องการแทนที่กระสุนด้วยอักขระที่กำหนดเองในกรณีนี้คือ 'เส้นประ' ที่ให้ผลเยื้องอย่างที่ทำงานเมื่อข้อความที่ตัด

ul.dashed-list {
    list-style: none outside none;
}

ul.dashed-list li:before {
    content: "\2014";
    float: left;
    margin: 0 0 0 -27px;
    padding: 0;
}

ul.dashed-list li {
    list-style-type: none;
}
<ul class="dashed-list">
  <li>text</li>
  <li>text</li>
</ul>


5

หากต้องการลบulสไตล์เริ่มต้นโดยสมบูรณ์:

    list-style-type: none;

    margin: 0;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;

2

หากคุณต้องการที่จะบรรลุเป้าหมายนี้ด้วยบริสุทธิ์ HTML เพียงอย่างเดียวแก้ปัญหานี้จะทำงานในเบราว์เซอร์ที่สำคัญทั้งหมด:

รายการคำอธิบาย

เพียงใช้ HTML ต่อไปนี้:

<dl>
  <dt>List Item 1</dt>
    <dd>Sub-Item 1.1</dd>
  <dt>List Item 2</dt>
    <dd>Sub-Item 2.1</dd>
    <dd>Sub-Item 2.2</dd>
    <dd>Sub-Item 2.3</dd>
  <dt>List Item 3</dt>
    <dd>Sub-Item 3.1</dd>
</dl>

ซึ่งจะสร้างรายการที่คล้ายกับต่อไปนี้:

List Item 1
     Sub-Item 1.1
List Item 2
     Sub-Item 2.1
     Sub-Item 2.2
     Sub-Item 2.3
List Item 3
     Sub-Item 3.1

ตัวอย่างที่นี่: https://jsfiddle.net/zumcmvma/2/

การอ้างอิงที่นี่: https://www.w3schools.com/tags/tag_dl.asp


1
หากคุณกำลังจะใช้วิธีนี้ให้ใช้วิธีการป้อนคำที่ถูกต้องในเชิงความหมายเพื่อกำหนด<dt>และนิยามของคำ<dd>นั้น
Bobort

2

คำสั่งนี้รายการในแนวตั้งโดยไม่ต้องมีสัญลักษณ์แสดงหัวข้อย่อย ในหนึ่งบรรทัด!

li {
    display: block;
}

หมายเหตุทางเทคนิค: งานนี้เพราะมันจะแทนที่การเริ่มต้นdisplayค่าของซึ่งเป็น<li> display: list-item;
mfluehr

0

หากคุณกำลังพัฒนาธีมที่มีอยู่อาจเป็นไปได้ว่าธีมนั้นมีสไตล์รายการที่กำหนดเอง

ดังนั้นหากคุณไม่สามารถเปลี่ยนรูปแบบรายการโดยใช้list-style: none;ใน ul หรือ li แท็กอันดับแรกให้ตรวจสอบด้วย!importantเพราะบางทีสไตล์อื่น ๆ อาจจะเขียนทับสไตล์ของคุณ

หากไม่ใช่ในกรณีนี้ให้ตรวจสอบli:beforeว่ามีเนื้อหาอยู่หรือไม่ จากนั้นทำ:

li:before { dispaly: none; }

-1
 <div class="custom-control custom-checkbox left">
    <ul class="list-unstyled">
        <li>
         <label class="btn btn-secondary text-left" style="width:100%;text-align:left;padding:2px;">
           <input type="checkbox" style="zoom:1.7;vertical-align:bottom;" asp-for="@Model[i].IsChecked" class="custom-control-input" /> @Model[i].Title
         </label>
        </li>
     </ul>
</div>

-1

ฉันพยายามและสังเกต:

header ul {
   margin: 0;
   padding: 0;
}

1
สิ่งนี้ไม่ได้ลบสัญลักษณ์แสดงหัวข้อย่อยออกจริง ๆ พวกเขาเพิ่งถูกผลักออกจากหน้าจอ
mfluehr

-8

ในกรณีที่คุณต้องการให้สิ่งต่าง ๆ เรียบง่ายโดยไม่ต้องหันมาใช้ CSS ฉันเพียงแค่ใส่&nbsp;รหัสบรรทัดลงไป <table></table>กล่าวคือ

ใช่มันเหลือช่องว่างเล็กน้อย แต่นั่นไม่ใช่เรื่องเลวร้าย


11
-1 ง่ายไหม ไม่มี CSS? นี่คือเหตุผลที่เว็บไซต์หลายแห่งอยู่ในภาวะตกตะลึง CSS เพิ่มความเรียบง่าย ตารางไม่ใช่ทางข้างหน้า
webnoob
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.