28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je vous écris après avoir tout essayé, sans succès. J'ai un problème de div & bloc parent.

Le problème :

J'ai une div header qui contient l'entête de mon site. J'ai une autre div contenant un formulaire de recherche, (de taille variable suivant le navigateur), que j'aimerais positionner en bas à droite de la div header.

Voici le code HTML :


<div id="header">
   {Code de l'entête}
   <div id="h-search">
      {Formulaire de recherche}
   </div>
</div>

Voici mon CSS :


#header {
	width: 810px;
	height: 132px;
	margin: 0 auto;
	padding: 10px 0 0 0;
	display: block;
}

#h-search {
  display: block;
position: absolute;
bottom: 0px;
right: 0px;
}


Résultat : Le formulaire se place en bas à droite de la fenetre du navigateur et non pas du bloc parent header.

J'ai essayé :


#h-search {
  display: block;
  float: right;
}

Et là, la div se place bien à droite du bloc parent header (et non pas à droite de la fenetre). Mais il n'existe pas d'équivalent pour bottom.

Voici l'adresse du site :

http://www.pythagora.fr

Quelqu'un a-t-il une idée ?
Merci pour votre aide.
Modifié par Wrap (10 Mar 2008 - 20:02)
Un élément positionné absolument se place par rapport à la fenêtre de visualisation à défaut d'avoir un parent lui-même positionné. Il te suffit donc d'attribuer à ton header une position, par exemple:
#header {position:relative;}
Wrap,

Je me lance au risque de dire une bétise...le formulaire se positionne par rapport au premier parent positionné...en l'occurence il me semble bien que ce soit le viewport (© Florent V.)
Si tu veux positionner ton formulaire en bas à droite du header, il te faut d'abord positionner...le header Smiley smile
#header {
width: 810px;
height: 132px;
margin: 0 auto;
padding: 10px 0 0 0;
display: block;
[#blue]position:relative;[/#]
}


Tant pis j'assume... Smiley lol
Cdt,
Sylvain

*Pfffffffffff : B D.C même pas drôle !!! Smiley fache Smiley lol
Modifié par 6l20 (10 Mar 2008 - 20:00)
J'ai essayé et ça marche ! Merci beaucoup à tous les deux !
Il manquait effectivement le position:relative.

Problème résolu. Bonne soirée Smiley smile