Quand j'ai un <div>
avec width: 100%
, ce n'est pas vraiment 100%:
<div id="div">testtesttesttesttest</div>
...
#div {
width: 100%;
background-color: red;
}
Maintenant, lorsque vous redimensionnez la fenêtre, il y a donc une barre de défilement horizontale et que vous faites défiler vers la droite, l'arrière-plan disparaît. Comment puis-je rester le fond dans ce cas?
Ici, vous pouvez voir le problème en action: http://beta.ovoweb.net/?i=3
Désormais, lorsque vous redimensionnez la fenêtre et faites défiler vers la droite, vous ne pouvez plus voir l'arrière-plan. Comment régler ceci?
La valeur 100% correspond à 100% de la largeur du parent ou du port d'affichage. Voir la documentation .
Largeur: 100%, est fortement affectée par ses marges et le rembourrage de son parent (corps dans votre cas). SO, les réinitialiser d'abord
Quelque chose comme
body {
margin: 0;
padding: 0;
}
#div {
margin: 0;
width: 100%;
background-color: red;
}
ajoutez ceci au css:
html, body {
width: 100%;
height: 100%;
margin: 0px;
padding: 0px;
}
Alors ça devrait marcher.
100% ne représente que 100% de la largeur disponible, en fonction du conteneur parent. Ainsi, si vous créez un DIV de 500 pixels de largeur, puis imbriquez un autre DIV avec une largeur de 100%, votre DIV à 100% peut s’étendre à un maximum de 500 pixels (sans compter les marges ni les marges, il est donc nécessaire de les remettre à 0).
Cela doit être fait (ajoutez cette ligne tout en haut de votre fichier CSS):
* { margin: 0; padding: 0; }
Ça marche tout le temps pour moi.
la plupart du temps, j'ajoute ce morceau de code à mes CSS Cela devrait fonctionner pour vous aussi. oui, 100% largeur ou hauteur est toujours basée sur le conteneur parent.
CSS
*{
margin:0;
padding:0;
}
html,body{
height:100%;
width:100%;
}
#container{
width:100%;
height:100%;
background:gray;
position:relative;
display:block;
}
#content{
height:50px;
width:50px;
bottom:20px;
right:10%;
background:red;
position:absolute;
}
HTML
<div id="container">
<div id="content">
</div>
</div>
SORTIE
Dans mon cas, la balise div n'occupe pas 100% de la balise parent car la div affiche "inline". Le changer en "inline-block" corrigea ce problème.