28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je sais qu'un élément en Absolute se place par rapport au premier parent qui est positionné. Mais je me demande si il est possible de contourner cette "règle".
En se basant sur les balises suivantes, j'aimerais positionner <div class="posAbsol"></div> par rapport au Viewport (fenêtre) et non par rapport à son parent.

<div class="posRelative">
   <div>
      <div class="posAbsol"></div>
   </div>
</div>


Est-ce possible ?
Merci ^^
Hello,

Pourquoi tu ne sors pas ton "posAbsol" de la div parente? Puisque de toute manière, tu veux la caler par rapport à la page.
Yokii a écrit :
Hello,

Pourquoi tu ne sors pas ton &quot;posAbsol&quot; de la div parente? Puisque de toute manière, tu veux la caler par rapport à la page.

Salut Yokii,
Je ne peux pas justement, cette div dépend d'autres div aussi. Pour l'exemple j'ai simplifié le code...
Dans ce contexte, est-ce que c'est possible de positionner <div class="posAbsol"></div> par rapport au Viewport (fenêtre) et non par rapport à son parent ?
Pour prendre le viewport ? en référence, tu as le positionnement fixed;
.posAbsol {
position:fixed;
top:20px;
left:20px;
}
gc-nomade a écrit :
Pour prendre le viewport ? en référence, tu as le positionnement fixed;
.posAbsol {
position:fixed;
top:20px;
left:20px;
}


Merci pour ta réponse mais en position absolute ce n'est pas possible ? Smiley smile
Je ne sais pas si j'utilise correctement le terme "viewport" mais ce que je voudrais c'est que la div se positionne en absolute pas par rapport a son élément parent mais par rapport au <div conteneneur> qui prend 100% de largeur.
Merci
Modifié par cevichero (14 Aug 2014 - 14:40)
salut,
bin si ta <div conteneneur> est directement enfant du <body> je ne vois pas en quoi ce que t'as proposé gc-nomade ne serait pas adéquat.
Si non tu mets une "position:relative" sur cette <div conteneneur> et tu laisses les autres en static.
Zelalsan a écrit :
salut,
bin si ta &lt;div conteneneur&gt; est directement enfant du &lt;body&gt; je ne vois pas en quoi ce que t'as proposé gc-nomade ne serait pas adéquat.
Si non tu mets une &quot;position:relative&quot; sur cette &lt;div conteneneur&gt; et tu laisses les autres en static.

Le problème avec le Fixed, est quand je scrolle, le Div reste sur l'écran et ne "scrolle" pas avec le reste de la page.
Malheureusement, je ne peux pas modifier la position des autres div parentes.
C'est pour ça que j'aimerais savoir si c'est possible que la div se positionne en absolute pas par rapport a son élément parent mais par rapport au <div conteneneur> qui prend 100% de largeur. Sans modifier le positionnement des autres div ^^
Bin on n'a pas ton CSS donc on ne peut pas deviner le positionnement de tes <div> et tu n'expliques pas non plus tes contraintes donc perso, je ne comprends pas trop pourquoi c'est aussi tordu.
Sans réfléchir on penserait tout de suite à ça

.posRelative {position:relative}
.posAbsol {position:absolute}

Mais si ce n'est pas possible alors il faudrait dire pourquoi.