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?

praveenjayapal
quelle

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.

Paul Dixon
quelle
@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

Scott Stafford
quelle
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>
karim79
quelle
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;}
Charliehoward
quelle
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>
Antonio Ooi
quelle
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>

Chris Halcrow
quelle
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;
Masih Jahangiri
quelle
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

ShaneB
quelle
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;
}
matt
quelle
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; }
Ali_Hr
quelle
-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>
Oracular Man
quelle
-1

Ich habe versucht und beobachtet:

header ul {
   margin: 0;
   padding: 0;
}
Dadhich Sourav
quelle
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.

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