Ich verwende verschachtelte Zähler und Bereiche, um eine geordnete Liste zu erstellen:
ol {
counter-reset: item;
padding-left: 10px;
}
li {
display: block
}
li:before {
content: counters(item, ".") " ";
counter-increment: item
}
<ol>
<li>one</li>
<li>two</li>
<ol>
<li>two.one</li>
<li>two.two</li>
<li>two.three</li>
</ol>
<li>three</li>
<ol>
<li>three.one</li>
<li>three.two</li>
<ol>
<li>three.two.one</li>
<li>three.two.two</li>
</ol>
</ol>
<li>four</li>
</ol>
Ich erwarte folgendes Ergebnis:
1. one
2. two
2.1. two.one
2.2. two.two
2.3. two.three
3. three
3.1 three.one
3.2 three.two
3.2.1 three.two.one
3.2.2 three.two.two
4. four
Stattdessen sehe ich Folgendes (falsche Nummerierung) :
1. one
2. two
2.1. two.one
2.2. two.two
2.3. two.three
2.4 three <!-- this is where it goes wrong, when going back to the parent -->
2.1 three.one
2.2 three.two
2.2.1 three.two.one
2.2.2 three.two.two
2.3 four
Ich habe keine Ahnung, sieht jemand, wo es schief geht?
Hier ist eine JSFiddle: http://jsfiddle.net/qGCUk/2/
html
css
html-lists
Dolch
quelle
quelle
1.
>1.1.
1.2.
1.3.
und so weiter verfolgt?id
undclass
ermöglichen es Ihnen, CSS spezifisch für diese Elemente mit Selektoren zu definieren. Wenn Sie eine Decke verwendenli
,ul
,ol
etc, dann wirkt sich die CSS alle Instanzen davon. Wenn Sie jedoch Ihr Element auf<ol class="cleared">
und Ihren CSS-Selektor auf einstellenol.cleared
, werden andereol
Elemente nicht unnötig beeinflusst.Verwenden Sie diesen Stil, um nur die verschachtelten Listen zu ändern:
quelle
font-weight: bold
zuol ol > li:before
den Zählern der verschachtelten Liste hinzufügebold
, werden die Zähler der Liste der ersten Ebene nicht erstelltbold
?Überprüfen Sie dies heraus:
http://jsfiddle.net/PTbGc/
Ihr Problem scheint behoben worden zu sein.
Was zeigt sich für mich (unter Chrome und Mac OS X)
Wie ich es gemacht habe
Anstatt :
Machen :
quelle
Dies ist eine großartige Lösung! Mit ein paar zusätzlichen CSS-Regeln können Sie es wie eine MS Word-Gliederungsliste mit einem hängenden Einzug in der ersten Zeile formatieren:
quelle
Ich bin kürzlich auf ein ähnliches Problem gestoßen. Der Fix besteht darin, die Anzeigeeigenschaft der li-Elemente in der geordneten Liste auf Listenelement und nicht auf Anzeigeblock zu setzen und sicherzustellen, dass die Anzeigeeigenschaft von ol kein Listenelement ist. dh
Damit sieht der HTML-Parser alle li als Listenelement und weist ihm den entsprechenden Wert zu, und sieht das ol als Inline-Block oder Blockelement basierend auf Ihren Einstellungen und versucht nicht, einen Zählwert zuzuweisen es.
quelle
Moshes Lösung ist großartig, aber das Problem kann immer noch bestehen, wenn Sie die Liste in a einfügen müssen
div
. (Lesen Sie: CSS-Counter-Reset auf verschachtelter Liste )Dieser Stil könnte dieses Problem verhindern:
Sie können auch den Zähler zurücksetzen
li:before
.quelle
.
in der verschachtelten Liste, sondern die Stammliste haben möchte ?Nachdem ich andere Antworten durchgesehen hatte, kam ich auf diese Idee. Wende einfach die Klasse
nested-counter-list
auf root anol
Tag an:Sass-Code:
CSS-Code :
Und wenn Sie
.
am Ende der Zähler der verschachtelten Liste ein Trailing benötigen, verwenden Sie Folgendes :quelle