2012-06-25 12 views
13

me di cuenta de que el cromo estaba borrando el número en mi lista de artículos cuando agrego css para manipular la columna de recuento ...¿Por qué utilizar columnas de CSS3 en Chrome elimina los números de artículos en las listas

Por ejemplo:

<ol style =-webkit-column-count: 2;..."> 
    .... 
</ol> 

Lo anterior se las arregla para desbordar los li's en una columna separada como se esperaba, pero también elimina la numeración predeterminada de los elementos. Esto no ocurre en Firefox, solo en Chrome.

¿Alguna idea?

+0

se puede hacer una jsFiddle favor – eivers88

+0

No puedo decir que he usado jsFiddle antes, hace que acaba ¿Quieres ver el bloque html y el css pertinente? – Noz

+0

Sí, solo una simple recreación del problema ayudaría. jsFiddle es relativamente fácil de usar, una vez que agregue su html y css, haga clic en el botón Guardar, luego haga clic en compartir y copie el enlace aquí. – eivers88

Respuesta

11

Siempre puede arrojar un <div> alrededor del <ol> y dar el <div> columnas múltiples en lugar del <ol>.

<div style = -webkit-column-count: 2;...><ol> 
    .... 
</ol></div> 

Cuando hago eso, sin embargo, que terminan con la segunda columna de ser una línea más alta que la primera columna por alguna razón. También solo sucede en Chrome.

Editar: Solución al problema anterior era sólo para añadir un margen cero para la <ol>, así que esto debería funcionar bien:

<div style = -webkit-column-count: 2;...><ol style = margin: 0;> 
    .... 
</ol></div> 

Por extraño que parezca, tener un poco de relleno en el <ol> parece deshacerse de la números también, así que si tiene relleno en alguna parte podría ser el culpable.

+0

Creo que terminó siendo relleno ya que estaba jugando con eso en un momento dado y me di cuenta de que los números aparecían de repente algún día. O eso o se arregló solo. – Noz

+0

Mire la respuesta de esta pregunta http://stackoverflow.com/questions/12357468/how-to-fix-list-style-not-showing-when-using-css3-columns-on-webkit. Esta es una buena solución, ya que cuando obtienes más de 10 elementos de la lista, la numeración se puede alinear a la izquierda, lo que puede hacer que el contenido de las etiquetas li parezca desalineado. – Remy

11

Parece que los números están ocultos. Esto se puede resolver mediante el uso de la siguiente propiedad:

OL { 
    list-style-position: inside; 
} 
4

A menudo uno de hoja de estilos tendría un reinicio html, entre los cuales hay un reinicio padding: 0; de elementos de la lista.

mientras que el siguiente, por Stéphane funciona como un encanto,

ul { 
    list-style-position: inside; 
} 

también se puede dar a su lista de artículos padding-left:

padding-left: 16px; 
+0

Al principio no pensé que esto funcionó, pero luego me di cuenta de que en mi caso necesitaba agregar más de 16 píxeles de relleno. ¡Gracias! – Travis

2

Para algunos estilos de lista razón posicionados fuera del elemento (valor predeterminado) están ocultos cuando aplica la regla column-width. El siguiente es lo mejor que pude encontrar para tratar de emular el comportamiento 'esperado' en Chrome basado en las otras respuestas y mi propia experimentación.

Demo

HTML

<div class="col-wrapper"> 
    <ol> 
     <li>1</li> 
     <li>2</li> 
     <li>3</li> 
     <li>4</li> 
     <li>5</li> 
     <li>6</li> 
     <li>7</li> 
     <li>8</li> 
    </ol> 
</div> 

CSS

.col-wrapper { 
    -moz-column-width: 200px; 
    -moz-column-gap: 1em; 
    -webkit-column-width: 200px; 
    -webkit-column-gap: 1em; 
    column-width: 200px; 
    column-gap: 1em; 

    /* (optional) use ol's margin here */ 
    margin-top: 16px; 
} 

.col-wrapper ol { 
    /* clear top margin of ol */ 
    margin-top: 0; 
} 
Cuestiones relacionadas