Problème de marges sous images sur IE

Résolu
Eria Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
 Drumacoustic -
Bonjour,
Je suis en train de créer un site internet. Sur ce site, j'ai besoin d'afficher une carte divisées en zones. Pour cela j'utilise un tableau qui a pour image de fond mon dessin de carte, et dans chaque case se trouve une image (transparente ou une croix rouge afin d'indiquer l'emplacement).

Voilà le problème que j'ai : sous Firefox, tout se passe bien, les cases se touchent toutes, avec la bonne dimension, ma carte est très bien. Mais avec IE, ça se complique. Il y a une petite marge (environ 2px je pense) qui vient se mettre entre les images. J'ai vérifié, il n'y a pas d'espacement entre les cases du tableau : ce sont bien les images qui ont une marge qui ne devrait pas être là. Du coup les cases du tableau sont plus grandes qu'elles ne devraient, et ma carte est trop moche.

Voilà ce que j'ai essayé de faire. Je ne vous mets pas tout le CSS, ça prendrait des pages. J'ai mis un * {margin:0; padding:0; } au début du CSS. Il y a donc des répétitions inutiles, mais selon moi vaut mieux le répéter plutôt que ça ne soit pas pris en compte...

        /* cette classe est appliquée à la balise <table></table> */
        .carte {   
		margin: auto;
		border-collapse: collapse;
		empty-cells: show;
		border: solid black 2px;
		width: 600px;
		height: 600px;
		background: url("images/carte/fond_carte3.png") no-repeat ;
	}
	
		.carte tr {
			margin: 0;
			padding: 0;
		}
		
		.carte td {
			margin: 0;
			padding: 0;
			line-height: 0;
		}
		
		.carte img {
			margin: 0;
			display: block;
		}


Je ne sais plus quoi trouver pour essayer de virer ces marges... Quelqu'un a une idée ?
Merci d'avance,
Eria

4 réponses

Groarh Messages postés 682 Date d'inscription   Statut Membre Dernière intervention   185
 
Bonsoir,
si le problème ne se pose que sous IE, faut pas chercher bien loin ^^ ça sent le quirks mode à dix lieues !
Le quirks mode (littéralement « mode bizarre »), c’est le nom que les développeurs Web ont donné à la façon qu’a IE d’interpréter différemment la présentation des pages lorsque le type de HTML n’est pas déclaré explicitement.
Aussi, je te suggère de déclarer le type de ta page en plaçant une DTD (Document Type Declaration) en première ligne de ton code HTML, pour forcer IE à se mettre en mode « respect des standards ». Comme je n’ai pas vu ton code HTML, je ne sais pas quelle sera la DTD la plus adaptée pour ta page (cf. la liste officielle), mais en général la transitionnelle est bien.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

Tu la places en haut de ton code, après tu ouvres une balise <html>, et ensuite tu places le <head> et le <body> dans le <html>.

Sinon, si tu connais le XHTML tu peux utiliser cette DTD à la place :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


En espérant que je résouds ton problème ;)

Groarh
1
Eria Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Voici ce que j'avais mis sur ma page depuis que j'ai commencé mon site.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


Si je mets ce que tu me conseilles, je n'ai plus aucune mise en page : tout va de travers.
Je vais donc essayer de résoudre mon problème en gardant la même entête (si toutefois c'est possible...)
Merci quand même

D'autres idées ?
0
Eria Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai trouvé, problème résolu !
0
Drumacoustic
 
Bonjour,

Serait-il possible de poster la solution car j'ai exactement le même problème, mais sans comprendre d'où ça vient, et donc sans savoir où je dois aller... ?

Par avance merci
0
Groarh Messages postés 682 Date d'inscription   Statut Membre Dernière intervention   185
 
Ok, c’était quoi ?

;)
0