2009-06-05 38 views
13

In HTML/CSS kann ich das erreichen?HTML/CSS Gliederung Nummerierung

1. 
1.1 
1.2 
2. 
2.1 
2.2 

mit LI- und UL-Tags?

+0

Mögliches Duplikat von [Kann geordnete Liste produzieren Ergebnis, das aussieht wie 1.1, 1.2, 1.3 (statt nur 1, 2, 3, ...) mit CSS?] (Https://StackOverflow.com/questions/4098195/can-ordered-list-produce-result-das-sieht-wie-1-1-1-2-1-3-statt-von-nur-1) –

Antwort

7

Es gibt keine Cross-Browser-Art und Weise, es zu tun.

Das Beste, was Sie erreichen können verschachtelt geordnete Listen:

<ol> 
    <li>Item 1 
     <ol> 
      <li>Subitem 1</li> 
     </ol> 
    </li> 
</ol> 

und dann jede verschachtelte Liste Stil eine andere Art zu haben:

ol { 
    list-style-type: upper-roman; 
} 
ol ol { 
    list-style-type: decimal; 
} 

hoffe, das hilft!

1

Verwenden Sie DL/DT/DD anstelle von OL/UL und codieren Sie die Werte im DT.

1

CSS 2.1 bietet benutzerdefinierbare Zähler, die zum Zählen von Elementen verwendet werden können. Zusammen mit den Pseudo-Klassen previous und after können Sie den Counter-Wert ausgeben, um automatisch nummerierte Überschriften zu erstellen.

Leider unterstützt der Internet Explorer das zumindest in der neuesten Version nicht. Aber zumindest unterstützt Firefox es sehr gut. Wenn Sie es also nur als Erweiterung hinzufügen möchten, die Ihre Site nicht unbrauchbar macht, wenn sie nicht unterstützt wird, können Sie sie trotzdem verwenden.

11

Für CSS2-konformen Browser Sie

ul { counter-reset:item; } 
ul > li { counter-increment:item; } 
ul > li:before {content: counter(item); } 

ul > li > ul { counter-reset:subitem; } 
ul > li > ul > li { counter-increment:subitem; } 
ul > li > ul > li:before { content: counter(item) "." counter(subitem); } 
-2

HTML-Code:

<ul> 
    <li>1 </li>   
    <li>1.1</li>  
    <li>1.2</li>  
    <li>2 </li>     
    <li>2.1</li> 
    <li>2.2</li> 
</ul> 

CSS-Code:

li { list-style:none; } 
0

Eine Zeile Javascript wird dies tun. Wird in einem Inhaltsverzeichnis:

<td class="session"> 
<script> 
{document.getElementsByClassName("session")[num].innerHTML = "1." + (++num);} 
</script> 
</td> 

num eine globale Variable in dem Dokument auf Null an einer geeigneten Stelle stromaufwärts initialisiert ist. Das obige erzeugt 1,1 bei der ersten Instanz. Wechseln Sie zu Num ++ und 1.0 erhalten.