He intentado implementar la solución de justificación de texto + bloque en línea de Chris Coyier para distribuir automáticamente divisiones horizontalmente en el ancho de un contenedor determinado. http://css-tricks.com/equidistant-objects-with-css/DOM Los divs equidistantes con bloques en línea y justificación de texto no funcionarán al insertar a través de JS
Esto funciona muy bien cuando los elementos se cargan inmediatamente en el DOM pero por algún motivo falla al agregar elementos mediante programación a través de JS. Es como si el navegador simplemente ignorase las propiedades de css.
Echa un vistazo a este violín para ver un ejemplo muy básico: http://jsfiddle.net/xmajox/NUJnZ/ Las dos primeras filas se agregan a la carga de HTML. Haga clic en el botón para agregar más en tiempo de ejecución a través de JS.
Inicialmente pensé que podría estar relacionado de alguna manera con el uso de pseudo-elemento: después de eso probé una versión diferente con un nodo DOM en su lugar: http://jsfiddle.net/xmajox/wnPSA/ Desafortunadamente reacciona exactamente de la misma manera.
¿Alguien tiene alguna idea de por qué sucede esto? o mejor aún, ¿cómo arreglarlo/prevenirlo?
Wow, gran captura, yo no estaba cerca. ¿Es este comportamiento "normal" para un navegador? Pensé que no importaba en absoluto ... –
@xmajox Bueno, yo no lo llamaría un error, es estándar. Mira [esto] (http://jsfiddle.net/DksVF/). No estoy exactamente seguro de por qué el espacio en blanco es necesario, supongo que solo lo agrupa en un elemento y cree que solo tiene una cosa que justificar sin él. – Snuffleupagus
¡Por supuesto! Tiene que ver con la naturaleza de cómo funciona la justificación de texto ... text-align: justify propaga las 'palabras' igualmente basadas en espacios: sin espacios, es todo una palabra para él. ¡Gracias por la ayuda! –