Supp marge externe d'1 DIV dans 1 body [HTML]

Résolu/Fermé
letsfire_89 Messages postés 256 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 avril 2018 - 14 déc. 2009 à 17:57
letsfire_89 Messages postés 256 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 avril 2018 - 15 déc. 2009 à 17:08
Bonsoir,

Je suis coincé sur un Tp:

je n'arrive pas à supprimer une toute petite marge entre le body et ma div id="corps"!

Voici le html:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
        <title>TP6-ex2_2</title>  
        <link rel="stylesheet" media="screen" type="text/css" title="feuille1" href="ex2_2.css"/>
    </head>
    <body>
        <div id="corps">
			<div id="case1">
				 couleur de fond: bleu
			</div>
			<div id="case2">
				 couleur de fond: vert
			</div>
			<div id="case3">
				 couleur de fond: blanc
			</div>
			<div id="case4">
				 couleur de fond: jaune
			</div>
			couleur de fond: rouge
		</div>
        <p>
            <a href="http://validator.w3.org/check?uri=referer">
			    <img src="http://www.w3.org/Icons/valid-xhtml10"
                 alt="Valid XHTML 1.0 Strict" height="31" width="88"/>
	        </a>
	        <a href="http://jigsaw.w3.org/css-validator/check/referer">
                <img style="border:0;width:88px;height:31px"
                 src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
                 alt="CSS Valide !"/>
            </a>
        </p>
    </body>
</html> 


et voici le css:

body{background-color: black; padding-top: 0%;}

div{
   text-align: center;
  }
  
#corps{
	   margin-top: 0%;
	   position: relative;
	   top: 0%;
	   height: 400px;
	   line-height: 400px;
	   background-color: red;
	  }
	  
#case1{
	   height: 30px;
	   width: 160px;
	   line-height: 30px;
	   position: absolute;
	   top: 0%;
	   left: 0%;
	   background-color: blue;
	  }
	  
#case2{
	   height: 30px;
	   width: 160px;
	   line-height: 30px;
	   position: absolute;
	   top: 0%;
	   right: 0%;
	   background-color: green;
	  }
	  
#case3{
	   height: 30px;
	   width: 160px;
	   line-height: 30px;
	   position: absolute;
	   top: 370px;
	   left: 0%;
	   background-color: white;
	  }
	  
#case4{
	   height: 30px;
	   width: 160px;
	   line-height: 30px;
	   position: absolute;
	   top: 370px;
	   right: 0%;
	   background-color: yellow;
	  } 


Quelqu'un pourrait-il m'aider s'il vous plait?

Merci!
A voir également:

6 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 déc. 2009 à 18:29
Si tu met un div dans le body et que tu le place en relative, il reste une marge autour.
Essai en absolute. Le bloc sera directement placé par rapport au bord de la fenêtre du navigateur.
J'ai déjà fait ce constat.
0
letsfire_89 Messages postés 256 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 avril 2018 261
14 déc. 2009 à 19:07
Ah merci! Je n'avais pas vu que j'avais laissé ma div id="corps" en relative!

Voici mon nouveau css corrigé:

div{
   text-align: center;
  }
  
#corps{
	   
position: absolute;
top: 0px;
left: 0px;
right: 0px;
	   height: 400px;
	   line-height: 400px;
	   background-color: red;
	  }
	  
#case1{
	   height: 30px;
	   width: 160px;
	   line-height: 30px;
	   position: absolute;
	   top: 1px;
	   left: 1px;
	   background-color: blue;
	  }
	  
#case2{
	   height: 30px;
	   width: 160px;
	   line-height: 30px;
	   position: absolute;
	   top: 1px;
	   right: 1px;
	   background-color: green;
	  }
	  
#case3{
	   height: 30px;
	   width: 160px;
	   line-height: 30px;
	   position: absolute;
	   top: 369px;
	   left: 1px;
	   background-color: white;
	  }
	  
#case4{
	   height: 30px;
	   width: 160px;
	   line-height: 30px;
	   position: absolute;
	   top: 369px;
	   right: 1px;
	   background-color: yellow;
	  }


Un nouveau problème est apparu: les icônes du W3C en bas de ma page ne s'affichent plus!
Qu'est ce qu'il se passe?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 déc. 2009 à 19:36
S'ils ne sont pas inclu dans le div corp, ils doivent se trouver caché sous le div.
0
letsfire_89 Messages postés 256 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 avril 2018 261
15 déc. 2009 à 01:35
En effet.

Ca veut dire que tout ce qui suit ma div id="corps" doit être positionné de façon absolue pour éviter d'être engloutie par cette dernière?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
15 déc. 2009 à 16:49
Si la hauteur du div corps est variable en hauteur, tu ne pourra pas placer les autres éléments suivant ce div.
Un placement en relative tiens compte des autres éléments pour la placement. Un placement en absolute n'en tiens plus compte.

Exemple:
Supposons que sur une page a ton div corps soit à 500px en hauteur. Tu vas donc placer l'élément du dessous à au moins 500px du haut de la page.
Si sur la page b, le div corp se retrouve à 600px, l'élément du dessous se retrouvera masqué.

La solution:
Une solution simple est de tout placer dans un div container qui sert à placer les éléments dans la page.
C'est celui-ci que tu va éventuellement centrer dans la page et que tu placera en absolute. Tout le reste viendra se placer à l'intérieur en relative.
0
letsfire_89 Messages postés 256 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 14 avril 2018 261
15 déc. 2009 à 17:08
Merci! Votre réponse était très claire.

SOLUTION:

Il faut mettre la div en position: absolute; et la "coller" avec top: 0px; par exemple.

Attention à la suite qui rique d'être cachée par cette même div. Dans ce cas, voir le message précédent.
0