una sublime para ordenada numerada numeracion listas lista hacer estilos ejemplos crear como anidadas html css html-lists

html - sublime - ¿Por qué desaparece el estilo de lista cuando se muestra display: el bloque se agrega a un elemento de lista en una lista(<ul> o<ol>)?



listas en html ejemplos (5)

Esto se debe a que normalmente, la display se establece en list-item de list-item para list-item <li> . Consulte la especificación CSS3 del W3C: http://www.w3.org/TR/css3-lists/#declaring-a-list-item .

Para declarar un elemento de la lista, la propiedad ''mostrar'' se debe establecer en ''elemento de la lista''.

Tenga en cuenta que puede dar a los elementos HTML arbitrarios el mismo comportamiento; set display: list-item en un <div> por ejemplo.

Esto parece válido para la display: inline; y display: inline-block; también.

Esto es lo que quiero decir:

ul li { display: block; /* Or display: inline; */ /* Or display: inline-block; */ } <ul> <li>list item1</li> <li>list item3</li> <li>list item3</li> </ul>

Y con estilo de lista me refiero a las "viñetas" o "números" reales (cuando se usa <ol> )


La respuesta de Martin es verdadera, pero no proporciona una solución, y Pappy''s solo es relevante si quiere balas o si tiene fácil acceso a lo que será el identificador del li . En mi caso, necesito tener un ol con upper-alpha lo que no es posible.

La forma más corta de evitar esto para nosotros fue colocar una propiedad en línea (en inline , en inline-block , en inline-flex ), así como en vertical-align: top en el elemento secundario inmediato de li :

ol { list-style: upper-alpha; > li { display: block; } } .list-item-content { display: inline-block; // any inline property will work vertical-align: top; }

<ol> <li> <div class="list-item-content">Some text</div> </li> </ol>


Solucion para ul

ul { list-style: none; display: block; padding: 0; } ul li::before { content: "• "; } <ul> <li>list item1</li> <li>list item3</li> <li>list item3</li> </ul>

Solución para ol usando el counter-increment

ol { list-style: none; display: block; padding: 0; counter-reset: my-counter; } ol li { counter-increment: my-counter; } ol li::before { content: counter(my-counter) ". "; } <ol> <li>list item1</li> <li>list item3</li> <li>list item3</li> </ol>


Una forma de conseguir el efecto sería:

<ol> <li> <a href="mylink">desc</a> </li> </ol>

CSS:

li { list-style-position: inside; display: inline-block; /* or block */ } li a { display: list-item; padding: 10px 20px; }


Una solución actualizada es hacer uso de :before y content .

Ver este JSfiddle para un ejemplo de trabajo. http://jsfiddle.net/t72h3/

ul li { display: inline-block; } ul li:before { content: "• "; } <ul> <li>list item1</li> <li>list item3</li> <li>list item3</li> </ul>