Voilà, j'essaie d'utiliser une page XML pour afficher le contenu d'une carte de restaurant. Je stocke les infos de la carte en XML et ai donc aussi créé un fichier XSL et même un XSD.

Quand j'affiche ma page web en HTML le site est centré. La même page en XSL (donc même head, même body) le site n'est plus centré sous Firefox (il est collé à gauche...sous IE tout fonctionne encore).

Pour centrer le site j'utilise la méthode classique des CSS avec un conteneur ayant les margin-left et right en auto + width avec taille fixe.

Le contenu (simplifié) de mon fichier XSL :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output   method="html"  encoding="ISO-8859-1"   doctype-public="-//W3C//DTD HTML 4.01//EN"  doctype-system="http://www.w3.org/TR/html4/strict.dtd"  indent="no" />
 
  	<xsl:template match="/">
		<html>
			<head>
				<link href="css/menu.css" rel="stylesheet" type="text/css"></link>
			</head>
			<body bgcolor="FFFFFF" text="#000000">
				<div id="page">
                                      ici vient le blabla du site.
				</div>
			</body>
		</html>
	</xsl:template>
</xsl:stylesheet>

Et le fichier CSS :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
body {
     margin: 0; /* pour éviter les marges */
     text-align: center; /* pour corriger le bug de centrage IE */
   }
#page {
    position: relative; /* on positionne le conteneur */
 
     margin-left: auto;
     margin-right: auto;
     width: 804;
     text-align: left;
	 top:4px;
     }

J'espère que vous pourrez me venir en aide car je cherche depuis plusieurs jour mais ne trouve pas la solution.

J'ai la vague impression que c'est lié à la façon dont je déclare les balises XML mais n'arrive tout de même pas à trouver quoi exactement.