J'ai deux divisions à l'intérieur d'une autre division, et je veux positionner une division enfant en haut à droite de la division parent et l'autre division enfant en bas de la division parent en utilisant css. C'est-à-dire que je veux utiliser le positionnement absolu avec les deux divisions enfant, mais les positionner par rapport à la division parent plutôt qu'à la page. Comment puis-je faire ceci?
Exemple html:
<div id="father">
<div id="son1"></div>
<div id="son2"></div>
</div>
Réponses:
Cela fonctionne parce que
position: absolute
signifie quelque chose comme « l' utilisationtop
,right
,bottom
,left
pour vous positionner par rapport à l'ancêtre le plus proche qui aposition: absolute
ouposition: relative
. »Nous faisons donc
#father
avoirposition: relative
, et les enfants ontposition: absolute
, puis utilisonstop
etbottom
positionnons les enfants.la source
#father { position: relative; }
requis?static
.la source
Au cas où quelqu'un voudrait poster un enfant div directement sous un parent
Démo de travail Codepen
la source
Si vous ne donnez aucune position au parent, par défaut, cela prend
static
. Si vous voulez comprendre cette différence, référez-vous à cet exempleExemple 1::
http://jsfiddle.net/Cr9KB/1/
Ici, la classe parent n'a pas de position, donc l'élément est placé en fonction du corps.
Exemple 2 ::
http://jsfiddle.net/Cr9KB/2/
Dans cet exemple, le parent a une position relative, donc les éléments sont positionnés de manière absolue à l'intérieur du parent relatif.
la source