2011-01-30 16 views
21

Acabo de notar algo gracioso. Digamos que tengo una lista HTML:Desbordamiento de CSS: oculto ocultando las viñetas de una lista?

<ol> 
    <li>Lorem</li> 
    <li>ipsum</li> 
    <li>dolor</li> 
    <li>sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies. Curabitur et ligula.</li> 
</ol> 

Y este CSS:

li { 
    white-space: nowrap; 
    overflow: hidden; 
} 

El texto largo en el último elemento es de hecho cortaron cuando sale el ancho del contenedor, como se esperaba. ¡PERO! Los números de elemento de la lista también se ven afectados por la propiedad overflow y no se muestran.

Sin embargo, la modificación de la CSS como esto:

ol { 
    overflow: hidden; 
} 
li { 
    white-space: nowrap; 
} 

funciona como está previsto (texto no irá fuera del contenedor, sino que se muestran elementos de la lista). Al menos todo esto es cierto para Firefox 4 beta10.

¿No cree que la numeración que se ve afectada por el overflow es un poco ilógica? ¿Por qué sucedería eso? ¿Es un comportamiento intencionado? ¿Está en la especificación o es solo una rareza con la que alguien olvidó lidiar?

+0

¿este es el comportamiento de 4 beta10? ¿O has probado en otros navegadores también? –

+0

No, no realicé la prueba porque realmente no me importa arreglar esto (configurar 'overflow' en el' ol' hace el truco, solo tengo curiosidad) – mingos

Respuesta

34

Este es el comportamiento por defecto por lo que soy consciente, si el list-position es outside, balas de un ul y números de un espectáculo ol no importa. Al menos en Firefox recuerdo haberlo visto antes en versiones anteriores.

+12

Aha! ¡Bien! Acabo de comprobarlo y, de hecho, 'list-style-position: inside' hace que las viñetas aparezcan dentro del' li', y ya no se ven afectadas por el 'overflow'. Sospeché algo similar, pero no estaba seguro. Gracias. – mingos

0

He visto que mis balas/números se recortan cuando no hay suficiente relleno en el lado izquierdo de la ul. Intente agregar un poco y vea si eso ayuda.

+0

No realmente. En mi caso particular, hay 40px de relleno. Las balas están completamente dentro del relleno del 'ol' Creo que tiene más que ver con un comportamiento extraño de los elementos 'li' (creo que sus viñetas se representan fuera del' li' real) ... ¿Acabo de responder a mi pregunta? – mingos

+0

tipo de. Echa un vistazo a list-style-position –

1

Los navegadores agregan margen y relleno predeterminados a las listas. Intente utilizar un reset.css primero para eliminar los estilos predeterminados de manera que pueda comenzar limpio y fresco sin un comportamiento inesperado. Haz una búsqueda para el reinicio de Eric Meyer. Espero eso ayude.

+0

Utilizo un reinicio ya, pero gracias de todos modos :). – mingos

Cuestiones relacionadas