Astuce CSS : Positionner un élément de manière absolue par rapport à son parent
Voici une petite astuce toute simple, qui pourra certainement vous aider lors de la construction de vos pages HTML. Elle permet de positionner un élément HTML de manière absolue, par rapport à son élément parent.
Imaginons un bloc div "papa" qui contient un bloc div "fiston".
Mettre fiston en absolu, par rapport à la page, est assez simple, il suffit de définir sa position en absolu, puis d'indiquer l'emplacement, à gauche ou à droite, et en haut ou en bas.
#fiston {position:absolute; top:0; left:0;}
L'indication "absolue" est plus subtile qu'elle n'y parait. En effet, la position n'est pas absolue par rapport à la page, mais par rapport à son élément parent le plus proche, disposant lui même de la position absolue, ou relative. Et c'est ici qu'est l'astuce.
De base, l'ancêtre le plus proche disposant d'une position absolue ou relative est tout simplement la page. Pour rendre la position de "fiston" absolue à l'intérieur de "papa", il suffit de mettre "papa" lui-même en position absolue ou relative.
En absolu, "papa" perdrait sa position, et se placerait par rapport à son plus proche parent en absolue ou en relatif. Il est donc préférable de le mettre en relatif, ce qui veut dire, en relatif par rapport à sa position actuelle, sans indiquer aucun déplacement haut, bas, gauche ou droite.
#papa {position:relative;} #fiston {position:absolute; top:0; left:0;}
Ce n'est pas plus compliqué que cela.