aiden ryan
Tengo una pila de divs uno dentro del otro, todos los cuales tienen una identificación que especifica solo CSS.
Pero por alguna razón, la etiqueta DIV circundante solo se expande a su valor de altura ungido, y no a su valor automático predeterminado, lo que significa que aunque el contenido está dentro, el DIV de respaldo es solo una altura específica. Lo necesito para ajustar la altura al tamaño de lo que sea que esté dentro (ya que habrá datos enviados por el usuario que se repetirán posiblemente en párrafos con más de 500 palabras).
#albumhold {
width: 920px;
padding: 10px;
height: auto;
border: 1px solid #E1E1E1;
margin-left: auto;
margin-right: auto;
background-color: #E1E1E1;
background-image: url(../global-images/albumback.png);
background-position: top center;
background-repeat: repeat-x;
}
#albumpic {
display: block;
height: 110px;
width: 110px;
float: left;
border: 1px solid #000;
}
#infohold {
width: 800px;
background-color: #CCC;
float: right;
height: 20px;
}
#albumhead {
width: 800px;
height: 20px;
text-indent: 10px;
border: 1px solid #000;
color: #09F;
}
#albuminfo {
margin-top: 5px;
width: 800px;
float: right;
color: #09F;
word-wrap: break-word;
}
<div id="albumhold">
<div id="albumpic">Pic here</div>
<div id="infohold">
<div id="albumhead">Name | Date</div>
<div id="albuminfo">Information</div>
</div>
</div>
La ayuda es muy apreciada.
Pablo D. Waite
Los elementos flotantes no ocupan ningún espacio vertical en su elemento contenedor.
Todos tus elementos dentro #albumhold
son flotantes, aparte de #albumhead
que no parece que ocuparía mucho espacio.
Sin embargo, si agrega overflow: hidden;
a #albumhold
(o algún otro CSS para borrar flotadores dentro de él), ampliará su altura para abarcar a sus hijos flotantes.
-
@Brent: claro, siempre hay que considerar el recorte. No había pensado en que produjera problemas con
box-shadow
ese es un buen punto.–Paul D. Waite
25 de abril de 2011 a las 10:04
Hay dos soluciones para solucionar esto:
- Usar
clear:both
después de la última etiqueta flotante. Esto funciona bien. - Si tiene una altura fija para su div o el recorte de contenido está bien, vaya con:
overflow: hidden
-
Su solución nr. 1 es una solución bastante buena para este/mi problema. Especialmente mientras overflow: hidden no sería una opción para mí. +1
– christoph
8 de noviembre de 2017 a las 19:05
sim3tri
Probablemente necesite una solución clara.
Prueba esto:
¿Qué métodos de ‘clearfix’ puedo usar?
Agregar <br style="clear: both" />
después de que el último div flotante funcionó para mí.
Debbie
Poniendo un <br clear="all" />
después de que el último div flotante funcionó mejor para mí. ¡Gracias a Brent Fiare y Paul Waite por la información de que los div flotantes no expandirán la altura del div principal! ¡Esto me ha estado volviendo loco! ;-}
dan golpes
Tiene una altura fija en .infohold, por lo que el div .albumhold solo sumará la altura de .infohold (20 px) + .albumpic (110 px) más cualquier relleno o margen que no haya incluido allí.
Intente eliminar la altura fija en .infohold y vea qué sucede.
Axel Kohler
No escribiste la etiqueta de cierre del div con id=”infohold.