2010-11-27 3 views
2

Supposons que nous avons une page HTML simple:comportement étrange du corps background-color

<html> 
<body style="background-color: red; width: 100px; height: 100px; border: 1px solid black"> 
</body> 
</html> 

Browsers (sauf pour IE) viderait comme ceci:

alt text

La question est pourquoi Est-ce que la zone à l'extérieur de l'élément de corps (qui est lui-même 100px de large et 100px de haut) a un fond rouge?

+0

voir: http://camendesign.com/code/ developpeurs_sans_frontieres – omnix

Répondre

0

Je ne peux que supposer parce que vous n'avez pas spécifié une couleur de fond pour votre carré 100x100px? (seulement une supposition sans voir plus de votre code CSS)

3

'car le corps est l'ensemble de votre document. vous ne pouvez pas le limiter à 100x100px.

vous pouvez utiliser un div pour créer votre boîte:

<html> 
<body> 

<div style="background-color: red; width: 100px; height: 100px; border: 1px solid black"></div> 

</body> 
</html> 
+0

Porret: S'il vous plaît changer ce truc en ligne CSS à quelque chose avec le CSS dans le ou plus. – thejh

+0

Oui, vous avez raison, mais c'était seulement pour l'exemple de code;) – vincent

+0

"Parce que le corps est votre document entier" - pourquoi alors la bordure n'est pas dessinée autour du document entier? –

0

Parce que l'arrière-plan bodys est celui que la page entière se voit assigner, aussi. Qu'attendriez-vous? Un fond blanc dont tu ne peux pas te débarrasser?

0

Cet exemple peut être fait pour travailler, mais vous aurez besoin d'appliquer des styles à la fois la balise HTML et la balise BODY, comme ceci:

<html style="background-color:white;"> 
<head></head> 
<body style="background-color: red; width: 100px; height: 100px; border: 1px solid black"> 
</body> 
</html> 
+1

Ceci est essentiellement correct. Pour autant que je sache, la fenêtre d'affichage adopte la couleur d'arrière-plan de l'élément html si elle est définie, sinon la couleur d'arrière-plan de l'élément body si elle est définie, sinon elle est blanche. – Alohci