Maison > Questions et réponses > le corps du texte
Voici le code complet :
<!DOCTYPE HTML> <html> <body style="height: 100%; padding: 0; margin: 0;"> <div style="background-color: green; height: 100%; width: 100%"></div> </body> </html>
Rien n'apparaît. Cependant, si je supprime la première ligne (doctype
), toutes les pages deviennent vertes comme prévu.
J'ai deux questions :
div
remplisse la page sans supprimer le balisage ? doctype
? P粉0434322102023-10-27 00:47:01
Voulez-vous dire vertical ? Les divs sont des éléments de niveau bloc, donc par défaut ils remplissent l'élément parent horizontalement.
Pour que cela fonctionne correctement, vous devez également définir la hauteur de la balise HTML à 100 %.
html, body { height:100%; }
Voir un exemple de travail ici :
http://jsfiddle.net/uhg0y9tm/1/
Comme d'autres l'ont dit ici, une fois que vous supprimez la première ligne (type de document HTML5), les navigateurs afficheront la page différemment, auquel cas il n'est pas nécessaire de spécifier une hauteur explicite de 100 % pour la balise HTML.
P粉9044059412023-10-27 00:30:23
height
Propriétés, valeurs en pourcentage et DOCTYPELa première partie de votre question div
demande comment appliquer une hauteur de 100 % à votre
html { height: 100%; }L'explication complète peut être trouvée ici :
height
Utilisez les propriétés CSS et les valeurs en pourcentageLa deuxième partie
de votre question a reçu beaucoup moins d'attention. Je vais essayer de répondre à cette question.Lorsque vous supprimez le DOCTYPE (Déclaration de type de document), le navigateur passe du Mode standard au Mode étrange
.En Weird Mode, également connu sous le nom de Compatibility Mode, le navigateur émule les anciens navigateurs afin de pouvoir analyser les anciennes pages Web - des pages écrites avant l'existence des normes Web. Le navigateur en mode bizarre se fait passer pour IE4, IE5 et Navigator 4
afin de pouvoir restituer l'ancien code comme l'auteur l'avait prévu.Voici comment Wikipedia
définit le mode bizarreries :Voici l'avis de MDN
:
height: 100%
Maintenant, voici les raisons spécifiques pour lesquelles dans votre code fonctionne en mode bizarre mais pas en mode standard : < /p>
En mode standards高度: auto
(没有定义高度),那么子元素的百分比高度也将被视为 height: auto
, si l'élément parent a (selon les spécifications
html { height: 100%; }
C'est pourquoi la réponse à votre première question est
height: 100%
在 div
中工作,您必须在父元素上设置 height
Pour que fonctionne au sein de , vous devez définir
plus de détailsheight: auto
).
Cependant, en mode bizarre, si l'élément parent a
mesuré par rapport à la fenêtre d'affichage
. 🎜 🎜Voici trois références couvrant ce comportement : 🎜En un mot, voici ce que les développeurs doivent savoir :