Un “auto height” cuando se usa float en css
Escrito por giancarloMay 31
Existen problemas cuando se está armando con capas y css una web, ya que muchas veces necesitamos tener una columna a la izquierda de la otra. Para lograr esto, necesitamos poner los tamaños de anchos exactos para que no se mueva para abajo la capa que debe estar al costado, pero también se debe trabajar con una capa contenedora y esto es lo que a muchos les trae problemas cuando el alto de la capa (height) es dinámico.
Para solucionar este inconveniente siempre debemos tener una capa contenedora, pero como no sabemos el alto que ésta debe tener, le debemos de poner
<style type="text/css"> div.contenedor{ display: inline-block; } </style> |
AsÃ, la capa crecerá en base a las capas que estén adentro, aunque estas tengan la propiedad “float”. Veamos un ejemplo
<style type="text/css"> div.contenedor{ width: 450px; background-color: #000000; padding: 5px; } div.contenedor div.izquierda{ float: left; width: 150px; background-color: #FF0000; margin-right: 10px:; } div.contenedor div.centro{ float: left; width: 280px; background-color: #0000FF; } </style> |
Por cierto, ven que utiizo herencia de capas, si no están muy familiarizados con el armado de CSS vean este link para armar sus página webs con CSS y DIVs
<div class="contenedor">
<div class="izquierda">
<p>Izquierda</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<div class="centro">
<p>Centro</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
</div> |
Al final van a ver que obtendrán este resultado, el cual no quieren:

Pero si le agregan el atributo display al estilo “contenedor”, tendrán justamente lo que necesitan, que la capa contenedor crezca verticalmente como las que están dentro de él:
<style type="text/css"> div.contenedor{ width: 450px; background-color: #000000; padding: 5px; display: inline-block; } </style> |
Aquà está lo que quieren

¿Qué les pareció? ¿Les sirvió?

Buen aporte!
Muchas gracias.
Saludos,
Holas, interesante, bueno tambien hay una forma de lograr la misma distribucion utilizando float left y float right. chevre encmontrar estos tips, buena voz. exitos y buena vibra =)
Genial el aporte, sabia que existia pero no sabia como se llamaba. se agredece, saludos.
gracias!
Genial, no conseguÃa aclararme con la capa contenedora, en cuanto utilizaba el float se me quedaba colgada arriba.
Muchas gracias.
Muchisisimas gracias!!
excelente aporte me sirvio de mucho
Hola, me sirvio mucho este tema, peor tengo un problema al momento de usar el inline-block, ya no me funciona el centrado con el margin:auto alguien sabe de alguna solucion?
Muchas gracias
Para hacer un “center” lo que tienes que hacer es crear un DIV que tenga el width al 100% y un text-align: center;
Luego, el div que quieres que esté centrado le das un “magin: 0 auto;”.
Lo importante es el “auto” a los lados
SerÃa asÃ
div.root{
width: 100%;
text-align: center;
}
div.main{
width: 500px;
margin: 0 auto;
}
Genial, no encontraba una solucion para este problema y me has alegrado la mañana. Gracias y enhorabuena!
Mil gracias por el post, me estaba empezando a desesperar!!! Gracias a giancarlo tambien por la información del centrado. SALUDOS!!
gracias, me sirvio y mucho, ya me estaba volviendo loco buscando esta solucion,
muchas pero muchas gracias…hace tiempo buscaba esto..
Hola, y si quisiera que izquierda y centro tuvieran la misma altura?
Es decir, que ambos fueran de la altura del que más alto sea (de forma dinámica según el contenido).
Algo como poner el height:100% (pero que no sé como hacerlo para que funcione).
Muchas gracias.
Justo lo que estaba buscando, excelente !
Paso bastante tiempo desde que escribiste este post y sin embargo sigue sirviendo mucho a otros, como yo, que no sabia como hacer para solucionarlo. MUchas gracias!!!!!!!!!!
Buenas,
de ante mano muchas gracias por el post, era justo lo que estaba buscando.
También comentar que encontré otra solución… aunque parece otro apaño, serÃa, en vez de usar display como dices, usando:
overflow:hidden;
la verdad que no se si es una carencia en el estandar, en los navegadores, o sÃmplemenet que funciona asÃ, aun que he me parece que no es lógico el hecho de que con float, el div padre se visualice asÃ. ¿Alguien sabe la respuesta a esto?
Gracias, me fue de mucha utilidad, ya habÃa probado la propiedad display, pero no asÃ.
kj
billig ipad…
Un ?auto height? cuando se usa float en css | giancarlospot – desarrollo web…
please click the following web site…
Un ?auto height? cuando se usa float en css | giancarlospot – desarrollo web…