Eu tenho duas divs dentro de outra div e quero posicionar uma div filho no canto superior direito da div pai e a outra div filho na parte inferior da div pai usando css. Ou seja, eu quero usar o posicionamento absoluto com os dois divs filhos, mas posicione-os em relação ao div pai em vez da página. Como posso fazer isso?
Exemplo de html:
<div id="father">
<div id="son1"></div>
<div id="son2"></div>
</div>
Respostas:
Isso funciona porque
position: absolute
significa algo como "usotop
,right
,bottom
,left
para posicionar-se em relação ao predecessor mais próximo que temposition: absolute
ouposition: relative
."Assim, fazemos
#father
temposition: relative
, e as crianças têmposition: absolute
, em seguida, usartop
ebottom
posicionar as crianças.fonte
#father { position: relative; }
necessário?static
.fonte
Caso alguém queira posicionar um filho div diretamente sob um pai
Demonstração de trabalho Codepen
fonte
Se você não der nenhuma posição aos pais, por padrão, será necessário
static
. Se você deseja entender essa diferença, consulte este exemploExemplo 1::
http://jsfiddle.net/Cr9KB/1/
Aqui a classe pai não tem posição, então o elemento é colocado de acordo com o corpo.
Exemplo 2 ::
http://jsfiddle.net/Cr9KB/2/
Neste exemplo, pai possui posição relativa, portanto, o elemento é posicionado absoluto dentro do pai relativo.
fonte