2009-06-05 17 views
13

En html/css puedo lograrlo?HTML/CSS Contorno de numeración

1. 
1.1 
1.2 
2. 
2.1 
2.2 

utilizando las etiquetas LI y UL?

+0

Posible duplicado de [¿Puede la lista ordenada producir resultados que se ve como 1.1, 1.2, 1.3 (en lugar de solo 1, 2, 3, ...) con css?] (Https://stackoverflow.com/questions/4098195/can-ordered-list-produce-result-that-looks-like-1-1-1-2-1-3-instead-of-just-1) –

Respuesta

7

No hay forma de multi-navegador de hacerlo.

Lo mejor que se puede lograr se anida listas ordenadas:

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

y luego el estilo de cada lista anidada tener un tipo diferente:

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

Espero que esto ayude!

1

Considere utilizar DL/DT/DD en lugar de OL/UL y codifique los valores en el DT.

1

CSS 2.1 proporciona contadores definibles por el usuario, que se pueden utilizar para contar elementos. Combinado con las pseudo-clases: before y: after, puede generar el valor del contador para crear títulos numerados automáticamente.

Desafortunadamente, al menos Internet Explorer no admite nada de esto, incluso en la última versión. Pero al menos Firefox lo admite muy bien, así que si solo quieres agregarlo como una mejora que no haga que tu sitio no se pueda usar si no es compatible, igual puedes usarlo.

11

Para CSS2 compatible con el navegador del que podría utilizar

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

código html:

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

código CSS:

li { list-style:none; } 
0

Una línea de javascript hará esto. Se utiliza en una tabla de contenidos:

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

num es una variable global en el documento inicializado a cero en un lugar adecuado de aguas arriba. Lo anterior produce 1.1 en la primera instancia. Cambie a num ++ y obtenga 1.0.