Tengo dos divs dentro de otro div, y quiero colocar un div hijo en la parte superior derecha del div padre, y el otro div hijo en la parte inferior del div padre usando css. Es decir, quiero usar el posicionamiento absoluto con los dos div secundarios, pero posicionarlos en relación con el div primario en lugar de la página. ¿Cómo puedo hacer esto?
Muestra html:
<div id="father">
<div id="son1"></div>
<div id="son2"></div>
</div>
Respuestas:
Esto funciona porque
position: absolute
significa algo así como "el usotop
,right
,bottom
,left
posicionarse en relación con el antepasado más cercano que tieneposition: absolute
oposition: relative
."Así que hacemos
#father
haveposition: relative
, y los niños tienenposition: absolute
, luego usamostop
ybottom
posicionamos a los niños.fuente
#father { position: relative; }
requiere?static
.fuente
En caso de que alguien quiera colocar un div de niño directamente debajo de un padre
Demo de trabajo Codepen
fuente
Si no le da ninguna posición al padre, por defecto se necesita
static
. Si desea comprender esa diferencia, consulte este ejemploEjemplo 1::
http://jsfiddle.net/Cr9KB/1/
Aquí la clase padre no tiene posición, por lo que el elemento se coloca de acuerdo con el cuerpo.
Ejemplo 2 ::
http://jsfiddle.net/Cr9KB/2/
En este ejemplo, el padre tiene una posición relativa, por lo tanto, los elementos se posicionan absolutos dentro del padre relativo.
fuente