span significado salto que linea etiquetas etiqueta elementos ejemplos div bloques html css

significado - span html



Dos elementos de 50% de ancho en línea y de bloque se envuelven en la segunda línea (5)

Esta pregunta ya tiene una respuesta aquí:

Me gustaría tener dos columnas de 50% de espacio libre y evitar flotadores. Así que pensé en usar display:inline-block .

Cuando los elementos se suman al ancho del 99% (por ejemplo, 50%, 49%, http://jsfiddle.net/XCDsu/2/ ) funciona como se esperaba.

Cuando se utiliza un ancho del 100% (por ejemplo, 50%, 50%, http://jsfiddle.net/XCDsu/3/ ) la segunda columna se divide en la segunda línea.

¿Porqué es eso?


NOTA: en 2016, probablemente puedas usar flexbox para resolver este problema más fácilmente.

Este método funciona correctamente IE7 + y todos los principales navegadores, ha sido probado en una serie de aplicaciones web complejas basadas en viewport.

<style> .container { font-size:0} .column { display: inline-block; width: 50%; font-size:1rem; /* IE9+ */ } .ie7 .column {font-size:16px; display:inline; zoom:1} .ie8 .column {font-size:16px} </style> <div class="container"> <div class="column">text that can wrap</div> <div class="column">text that can wrap</div> </div>

Demostración en vivo: http://output.jsbin.com/sekeco/2

El único inconveniente de este método para IE7 / 8 es confiar en el body {font-size:??px} como base para el tamaño de fuente basado en em /%.

IE7 / IE8 CSS específico podría ser servido utilizando IE comentarios condicionales


Continué teniendo este problema en ie7 cuando el navegador tenía ciertos anchos. Desactiva los navegadores antiguos en torno al valor de píxel si el resultado porcentual no es un número entero. Para resolver esto puedes intentar configurar

overflow: hidden;

en el último elemento (o todos)


Es porque display:inline-block tiene en cuenta el espacio en blanco en el html. Si elimina el espacio en blanco entre los div ''s, funciona como se esperaba. Ejemplo en vivo: http://jsfiddle.net/XCDsu/4/

<div id="col1">content</div><div id="col2">content</div>


Puede eliminar los espacios en blanco a través de css usando espacios en blanco para que pueda mantener su bonito diseño HTML. No olvide volver a establecer el espacio en blanco en normal si desea que su texto se envuelva dentro de las columnas.

Probado en IE9, Chrome 18, FF 12

.container { white-space: nowrap; } .column { display: inline-block; width: 50%; white-space: normal; } <div class="container"> <div class="column">text that can wrap</div> <div class="column">text that can wrap</div> </div>