Tengo una estructura de página similar a esta:
<body>
<div id="parent">
<div id="childRightCol">
/*Content*/
</div>
<div id="childLeftCol">
/*Content*/
</div>
</div>
</body>
Me gustaría que los padres div
se expanda en height
cuando el interior div
's height
se incrementa.
Editar:
Un problema es que si el width
contenido secundario se expande más allá width
de la ventana del navegador, mi CSS actual coloca una barra de desplazamiento horizontal en el primario div
. Me gustaría que la barra de desplazamiento esté en el nivel de página. Actualmente mi div principal está configurado enoverflow: auto;
¿Me pueden ayudar con el CSS para esto?
Respuestas:
Prueba esto para los padres, funcionó para mí.
ACTUALIZAR:
Una solución más que funcionó:
Padre :
Niño :
fuente
overflow:auto
significa que el navegador debe decidir qué valor aplicar. Lo que realmente hace el truco esoverflow: overlay
.overflow:hidden
.overlay
que no es compatible fuera de Webkit. Otra completamente diferente es decir que no existe en absoluto. Por favor, RTFM primero . ;)display:inline-block
. Lo que funcionó muy bien para mí.agregar a
clear:both
. asumiendo que sus columnas están flotando. Dependiendo de cómo se especifica su altura principal, puede necesitar un desbordamiento: auto;fuente
Como dijo Jens en un comentario
Esto funciona mucho mejor para mí en todos los navegadores.
fuente
Intenta dar
max-content
por la altura de los padres.https://jsfiddle.net/FreeS/so4L83wu/5/
fuente
Para aquellos que no pueden entender esto en las instrucciones de esta respuesta allí:
Tratar de establecer el relleno valor de más a continuación, 0 , si divs niños tienen margin-top o margin-bottom se puede reemplazar con el acolchado
Por ejemplo si tienes
será mejor reemplazarlo con:
fuente
Usar algo como la autolimpieza
div
es perfecto para una situación como esta . Entonces solo usarás una clase en el padre ... como:fuente
Añadir
Al css del div principal, o agregue un div en la parte inferior del div primario que aclare: ambos;
Esa es la respuesta correcta, porque desborda: auto; puede funcionar para diseños web simples, pero se enredará con elementos que comienzan a usar elementos como el margen negativo, etc.
fuente
¿Hace esto lo que quieres?
fuente
¿Estás buscando un diseño CSS de 2 columnas ?
Si es así, eche un vistazo a las instrucciones , es bastante sencillo comenzar.
fuente
Hice que un div padre se expandiera alrededor del contenido de un div hijo al hacer que el hijo div como una sola columna que no tiene ningún atributo de posicionamiento como absoluto especificado.
Ejemplo:
Basado en que maincolumn div es el div secundario más profundo de #wrap, esto define la profundidad del #wrap div y el relleno de 200px a cada lado crea dos grandes columnas en blanco para que coloques divs posicionados absolutamente como quieras. Incluso podría cambiar el relleno superior e inferior para colocar divs de encabezado y divs de pie de página usando position: absolute.
fuente
Debe aplicar la solución clearfix en el contenedor principal. Aquí hay un buen artículo que explica el enlace de reparación
fuente
Si su contenido dentro de #childRightCol y #childRightCol está flotando hacia la izquierda o hacia la derecha, simplemente agregue esto a css:
fuente
Esto funciona como se describe en la especificación: varias respuestas aquí son válidas y coherentes con lo siguiente:
desde aquí: https://www.w3.org/TR/css3-box/#blockwidth
fuente
El siguiente código funcionó para mí.
css
html
fuente
fuente
De donde comenzamos
Aquí hay algunos HTML y CSS repetitivos. En nuestro ejemplo, tenemos un elemento primario con dos elementos secundarios flotantes.
Solución # 1: desbordamiento: auto
Una solución que funciona en todos los navegadores modernos y en Internet Explorer de nuevo a IE8 es agregar
overflow: auto
al elemento padre. Esto también funciona en IE7, con barras de desplazamiento agregadas.Solución # 2: Contenedor flotante para padres
Otra solución que funciona en todos los navegadores modernos y de vuelta a IE7 es hacer flotar el contenedor principal.
Es posible que esto no siempre sea práctico, porque flotar su div principal puede afectar otras partes del diseño de su página.
Método n. ° 3: Agregue la división de compensación debajo de los elementos flotantes
Método # 4: Agregue Clearing Div al elemento padre Esta solución es bastante a prueba de balas para navegadores antiguos y navegadores nuevos por igual.
de https://www.lockedownseo.com/parent-div-100-height-child-floated-elements/
fuente
Yo uso este CSS para padres y funciona:
fuente
eres administrado usando
overflow:hidden;
propiedad en cssfuente