28173 sujets

CSS et mise en forme, CSS3

Bonjour,
Pouvez-vous m'expliquer le comportement suivant.

Avec le code qui suit, la DIV s'étend sur toute la largeur de la page, le P s'étend sur toute la largeur de son conteneur (i.e. la DIV). Ce qui me parait tout à fait normal.

div {
  height : 100px;
  background-color: red;
}
p {
  border : 1px solid black;
}        

<div>
  <p>Texte</p>
</div>


Si je positionne la DIV en absolu, sa largeur est celle du P.
Question : en positionnement absolu, un élément de type "block" ne s'étend pas sur toute la largeur restante ?

div {
  height : 100px;
  position : absolute;
  top : 300px;
  left : 30px;
  background-color: red;
}


Si je rajoute une largeur à la DIV, le P s'étend sur toute la largeur de son conteneur.

div {
  height : 100px;
  position : absolute;
  top : 300px;
  left : 30px;
  background-color: red;
  width : 300px;
}


Si je positionne le P en absolu, j'obtiens le même comportement. Il semble donc y avoir une certaine logique.

Je n'ai pas trouvé le paragraphe de la norme traitant de cette problématique.

Merci.
Rémy.
Modifié par RemyVingtNeuf (13 Apr 2007 - 13:34)
RemyVingtNeuf a écrit :
Question : en positionnement absolu, un élément de type "block" ne s'étend pas sur toute la largeur restante ?
Réponse : non! Smiley ravi
Modifié par Benjamin D.C. (13 Apr 2007 - 11:57)