HTML CSS wie kann ich unterstreichen, alle li in einer verschachtelten Liste
Basierend auf w3c-der richtige Weg in den HTML-Code für eine verschachtelte Liste.
<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
</li>
<li>Milk</li>
</ul>
Möchte ich aber eine Grenze an der Unterseite von jedem Element in der Liste, den folgenden code unterstreicht Sie alle, aber Tee.
li {
border-bottom: 1px solid purple;
}
Irgendwelche Vorschläge?
text-decoration: underline
?- Tee wahrscheinlich IST Unterstrichen, aber es ist "gedeckt" durch die Zeile unter GreenTea
- wrap alle Texte in span. und tun, unterstreichen die Spannweite statt. Geige.
- li ul li { text-decoration:underline; } besser, verwenden Sie Klassen-Selektoren, um wählen Sie die gewünschten Elemente aus, denke ich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht können Sie
Dies gilt für den text im element.
Dein problem ist, dass die
li
mittea
tatsächlich eine Grenze, aber es ist eine untere Grenze, so ist es unterhalb der verschachteltenli
.Anstatt
text-decoration
Sie können auch wickeln Sie den text in ein anderes element (span
oderdiv
) innerhalb derli
Elemente, und übernehmen Sie die Grenze zu diesem. Eine solche Lösung mitdiv
ist besonders nützlich, wenn Sie wollen die Grenze zu sein, die volle Breite des Elements anstatt des Textes allein.wenn du meinst Grenze unten auf alles, was Sie tun müssen, wird so etwas wie dieses:
Beispiel
Alternative
Gleiche Länge der Zeilen (aber Sie müssen einen Weg finden, der Einzug der zweiten Ebene bullets)
Ansonsten verwenden Sie einfach
text-dexoration
Den "Tee"
li
HAT eine Grenze, es ist nur 'maskiert', die von der Grenze des letzten Untermenüli
Sehen JSfiddle
Als alle oben genannten, dass die Grenze tatsächlich existiert für den text "Tee", die auf ganz unten weil
li
element hatdisplay: list-item
standardmäßig zugewiesen. Machen Sie es sichtbar, indemdisplay: inline
aber Bedenken Sie, dass, verlieren Sie die Funktionen vonli
element wielist-style-type
denn Sie gelten nur fürdisplay: list-item
.Arbeitet Fiddle
Dieses problem wird durch die Tatsache verursacht, dass der "Tee" li " tag "enthält nicht nur "Tee", aber alle anderen ul-und li-tag-paar, außer für die mit "Milch". Der "Tee" li ist immer Unterstrichen, was eigentlich die unter dem 'Grünen Tee' unterstreichen (wenn Sie genau hinsehen, werden Sie bemerken sollten, doppelt Unterstrichen gibt es, vor allem, wenn Sie hinzufügen Polsterung an Sie li-tags.) Ihre beste Wette in dieser situation (wenn Sie den Aufbau der Liste programmgesteuert) ist, wickeln Sie die li-Elemente in ein anderes tag:
dann den code ändern zu:
Dadurch wird sichergestellt, dass der text Unterstrichen wird, und nicht den li-tag mit dem text.
Bearbeiten:=====================
Dies ist die gleiche Sache, dass Mr Green empfiehlt in seinem Kommentar
Gibt es verschiedene Möglichkeiten, es zu lösen, ging ich mit diesem.
Geben Sie eine Klasse hinzufügen
display: inline-block
so:- und in deiner css: