Ich brauche eine ungeordnete Liste ohne Aufzählungszeichen


2507

Ich habe eine ungeordnete Liste erstellt. Ich finde die Aufzählungszeichen in der ungeordneten Liste störend, deshalb möchte ich sie entfernen.

Ist es möglich, eine Liste ohne Aufzählungszeichen zu haben?

Antworten:


3688

Sie können Kugeln entfernen , indem Sie die Einstellung , list-style-typeum noneauf dem CSS für das übergeordnete Element (typischerweise <ul>), zum Beispiel:

ul {
  list-style-type: none;
}

Möglicherweise möchten Sie auch hinzufügen padding: 0und hinzufügen margin: 0, wenn Sie auch Einrückungen entfernen möchten.

Im Listutorial finden Sie eine ausführliche Anleitung zu Listenformatierungstechniken.


@tovmeod Scheint in meinem IE9 (unter Win7) gut zu funktionieren. (Es ist eine komplexe Seite, kein einfacher POC, vielleicht hat etwas anderes das Verhalten geändert)
David Balažic

1
Wenn Sie wie ich sind und auch nach Möglichkeiten
Kunal

6
Oh, wie oft bin ich hierher zurückgekommen, um zu kopieren / einzufügen :)
Jonathan.Brink

Nizza Touch auf Polsterung und Ränder
Evgenii Klepilin

588

Wenn Sie Bootstrap verwenden, hat es eine "unstyled" -Klasse:

Entfernen Sie den Standardlistenstil und das linke Auffüllen von Listenelementen (nur untergeordnete Elemente).

Bootstrap 2:

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

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

Bootstrap 3 und 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
Wenn wir Klassen für jedes CSS-Framework auflisten würden, würden wir StackOverflow durcheinander bringen. Eine schnelle Google-Suche zeigt, dass Bootstrap zu Spitzenzeiten nur von 2% der Websites verwendet wurde, und dies sinkt sicherlich mit der Einführung sinnvollerer Lösungen wie Flexbox und CSS-Grid.
PJ Brunet

4
Eigentlich ist diese Antwort genau das, wonach ich gesucht habe. Und Bootstrap wird von 3,6% des gesamten Internets verwendet, sodass es nicht fällt. trends.builtwith.com/docinfo/Twitter-Bootstrap Eine schnelle Google-Suche zeigt, dass Bootstrap durchweg in die Kategorie "Beliebteste CSS-Frameworks" eingestuft wird.
Bobort

209

Sie müssen verwenden list-style: none;

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

4
Beachten Sie, dass Inline-CSS CSS in Dateien überschreibt. Abhängig von den Anwendungs- / Entwicklungspraktiken kann es sehr ärgerlich sein.
Mark Baijens

39

Kleine Verfeinerung der vorherigen Antworten: Um längere Zeilen besser lesbar zu machen, wenn sie auf zusätzliche Bildschirmzeilen übertragen werden:

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

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

Funktioniert, aber nur für IE8
Underverse

Es ist nicht notwendig, list-style-type: none;sowohl das ulals auch das anzuziehen li. Sie können nur eine tun.
mfluehr

14

Wenn Sie es nicht auf der <ul>Ebene zum Laufen bringen können , müssen Sie möglicherweise Folgendes list-style-type: none;auf der <li>Ebene platzieren:

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

Sie können eine CSS-Klasse erstellen, um diese Wiederholung zu vermeiden:

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

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

Verwenden Sie bei Bedarf !important:

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

14

Ich habe sowohl auf der ul als auch auf der li Listenstil verwendet, um die Kugeln zu entfernen. Ich wollte die Aufzählungszeichen durch ein benutzerdefiniertes Zeichen ersetzen, in diesem Fall einen "Strich". Das ergibt einen schön eingerückten Effekt, der funktioniert, wenn der Text umbrochen wird.

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

So entfernen Sie den ulStandardstil vollständig :

    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

Wenn Sie dies nur mit reinem HTML erreichen möchten, funktioniert diese Lösung in allen gängigen Browsern:

Beschreibung Listen

Verwenden Sie einfach den folgenden HTML-Code:

<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>

Dadurch wird eine Liste erstellt, die der folgenden ähnelt:

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

Beispiel hier: https://jsfiddle.net/zumcmvma/2/

Referenz hier: https://www.w3schools.com/tags/tag_dl.asp


1
Wenn Sie diese Methode verwenden möchten, verwenden Sie die semantisch korrekte Methode zur Eingabe eines Begriffs, in dem definiert werden soll, <dt>und die Definition dieses Begriffs in <dd>.
Bobort

2

Dadurch wird eine Liste vertikal ohne Aufzählungszeichen angeordnet. In nur einer Zeile!

li {
    display: block;
}

Technischer Hinweis: Dies funktioniert, weil der Standardwert displayvon überschrieben <li>wird display: list-item;.
mfluehr

0

Wenn Sie ein vorhandenes Thema entwickeln, hat das Thema möglicherweise einen benutzerdefinierten Listenstil.

Wenn Sie den Listenstil nicht mit ul- list-style: none;oder li-Tags ändern können, wenden Sie sich zuerst an, !importantda möglicherweise eine andere Stilzeile Ihren Stil überschreibt.

Wenn dies nicht der Fall ist, überprüfen li:beforeSie, ob der Inhalt vorhanden ist. dann mach:

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

Ich habe versucht und beobachtet:

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

1
Dadurch werden die Kugeln nicht wirklich entfernt. Sie werden einfach vom Bildschirm gestoßen.
mfluehr

-8

Für den Fall, dass Sie die Dinge einfach halten möchten, ohne auf CSS zurückzugreifen, füge ich einfach ein &nbsp;in meine Codezeilen ein. Dh <table></table>.

Ja, es bleiben ein paar Leerzeichen, aber das ist keine schlechte Sache.


11
-1 Einfach? Ohne CSS? Aus diesem Grund befinden sich viele Websites in einem schockierenden Zustand. CSS sorgt für mehr Einfachheit. Tabellen sind nicht der richtige Weg.
Webnoob
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.