28172 sujets

CSS et mise en forme, CSS3

Bonjour,
Pourquoi positionner en relatif la DIV globale ?
pour ceux qui ont le livre "CSS 2 Pratique du design web" peuvent voir à la page 134 ceci
<div id="conteneur">
......
</div>

CSS:
#conteneur {
position:relative;
etc ...
}


J'ai une réponse en tête, mais j'ignore si c'est juste.
a écrit :
Peut etre pour que plus loin dans le code on puisse positionner un bloc en absolu dont la Div globale sera sa référence

Merci pour vos réponses.
Modifié par Torifan (13 Jun 2009 - 22:11)
La réponse exacte, un peu mieux formulée, serait: pour qu'il puisse servir de référent à ses enfants et descendants positionnés en absolu.

Bien sûr s'il n'y a pas d'enfants ou descendants positionnés en absolu, et si on n'utilise pas le positionnement relatif pour décaler le bloc par rapport à sa position normale, alors le positionnement relatif est inutile est il ne sert à rien de le déclarer.
Modérateur
Salut,

Exact. Je te propose de regarder ceci afin de mieux comprendre ce type de positionnement (code fait de tête):


<div id="mon_idA">
	<!-- du contenu etc.-->
	<div id="mon_idB">
		<!--du contenu etc.-->
	</div>
</div>


ou (j'ai un doute à vérifier) :


<div id="mon_idA">
	<!-- du contenu etc.-->
</div>
<div id="mon_idB">
	<!--du contenu etc.-->
</div>




#mon_idA{
	width:200px;
	height:200px;
	background-color:black;
	position:relative;
}

#mon_idB{
	width:20px;
	height:20px;
	background-color:teal;
	position:absolute;
	bottom:0px;
	right:0px;
}


++
Modifié par Nolem (13 Jun 2009 - 21:10)
Nolem, si tu as un doute ça ne va pas beaucoup aider à mieux comprendre. Smiley cligne

En l'occurrence, avec le deuxième exemple le bloc #mon_idB n'est pas un descendant de #mon_idA (ils sont frères), donc #mon_idB se fichera comme de sa première chemise du positionnement relatif de #mon_idA.
Florent V. a écrit :
La réponse exacte, un peu mieux formulée, serait: pour qu'il puisse servir de référent à ses enfants et descendants positionnés en absolu.

Bonsoir et merci pour la précision.
Incroyable comme je m'exprime! J'ai pourtant médité avant de formuler ma question.
C'est peut être à cause de tout ces codes qui tournent dans ma tête !?

Florent V. a écrit :
Bien sûr s'il n'y a pas d'enfants ou descendants positionnés en absolu, et si on n'utilise pas le positionnement relatif pour décaler le bloc par rapport à sa position normale, alors le positionnement relatif est inutile est il ne sert à rien de le déclarer.

Dans mon cas la Div globale est centrée ainsi
margin: 0 auto;

est ce nécessaire de positionner en relatif la DIV globale ?
Il me semble que j'ai vu (je ne sais plus où ?) des Div centré sans être positionné en relatif etc ...

Merci.
Hello Torifan,

Torifan a écrit :
est ce nécessaire de positionner en relatif la DIV globale ?
Il me semble que j'ai vu (je ne sais plus où ?) des Div centré sans être positionné en relatif etc ...
Comme le disait Florent, le positionnement relatif est utilisé pour décaler un élément par rapport à sa position normale dans le flux ou pour donner le "statut" d'ancêtre positionné à un élément qui servira alors de repère pour ses descendants positionnés en absolu. Dans tous les autres cas il est inutile et cela comprend le centrage d'une DIV. En cas de besoin, ne pas hésiter à lire attentivement (sous-entendu en prenant le temps de suivre les liens) le Guide de survie du positionnement CSS. Smiley cligne
Modifié par Heyoan (14 Jun 2009 - 01:28)