Bonjour,
je viens de faire valider une de mes pages par le validator w3c.org or après validation je me rend compte que explorer ne comprend pas la même chose et colle mon troisième div en bas du deuxième.
En clair, normalement (firefox) j'ai un menu de chaque coté haut d'un conteneur central. Or avec explorer le menu de droite se retrouve (sur une page seulement!) en basdu conteneur central.

Je ne vois pas pourquoi.
----------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<script language="javascript" type="text/javascript">
			function changeBackgroundColor(elm){
			window.status=elm.style.backgroundColor;
				document.body.style.backgroundColor=elm.style.backgroundColor;
			}
		</script>

		<script type="text/javascript" src="./essai/calendar.js"></script>
    <script type="text/javascript" src="./essai/calendar-setup.js"></script>

    <script type="text/javascript" src="./essai/lang/calendar-fr.js"></script>
    <style type="text/css"> @import url("./essai/skins/aqua/theme.css"); </style>
		<link href="../style/admin.css" rel="stylesheet" type="text/css"/>
		<title>- Zone Pilote -</title>
	</head>
	<body>
		<div class="deco">

		</div>
		
		<div class="ges_cont">
			<div id="gauche">
			<div class="mod">
				<h1>Profils ::.</h1>
				<div class="navigation">
				<ul>
					<li><a href="gestion.php">Accueil</a></li>

					<li><a href="list.php">Voir les autres</a></li>
					<li><a href="admin_profil.php">modifier</a></li>
				</ul>		
			</div>
			</div>
			<div class="mod">
				<h1>Contenu ::.</h1>
				<div class="navigation">

				<ul>
					<li><a href="licences.php">Mes Licences</a></li>
					<li><a href="envoi.php">Photos</a></li>
				</ul>		
			</div>
			</div>
			</div>
			<div id="milieu">

		
<div class="midule">

<div class="txt">
			
				
				
			<h1>.:: Mes Licences</h1>
			
			<font color="#000000" size="2">Vous avez la possibilité de rentrer vos dates de licences et visites médicales vous pourrez ainsi etre alerté 1 mois avant la date de péremption.</font><br/>
			<br/>
			<img src="../style/visitemed.png" alt="deco" /> <br/>
			<blockquote><p align="justify"><font color="#000000" size="2">Votre visite médicale est valable 2 ans ou 5 ans selon votre age. C'est pour cela que lors de votre inscription nous vous avons demandé de noter votre date de naissance.<br/>Nous avons pu ainsi définir que vous appartenez à la catégorie:<br/><br/><b> - de 40ans</b> donc votre visite médicale sera valable<b> 5 années</b>.
			<br/><br/> Ci dessous vous pouvez rentrer la date de début de validité de votre visite médicale. la date de péremption sera incrémenté automatiquement de 5 années et <b>vous serez prévenu de sa péremption 1 mois avant échéance sur votre email:<br/><u> xxx@xxxx </u></b> <br/>

			<br/><i> Si l'une de ces informations vous concernant n'est pas bonne, vous pouvez modifier vos données dans le module Profils/modifier ou <a href="./admin_profil.php"> ici </a></i><br/>
			<br/> Modifié le:</font><font color="#FF0000" size="2"> 2008-10-26 23:08:52</font></p></blockquote>
			
			<input type="hidden" id="tps" value="5" />
			<form  method="get" action="exe.php">
			<table border="0" cellpadding="2" style="border-collapse: collapse; text-align:left; margin:auto; " width="100%" id="table112">

		<tr>
			<td><font color="#000000" size="2">Date de votre visite:</font></td>
			<td><input type="text" name="vis" id="vis" value="2004-03-16" />
			</td>
		</tr>
		<tr>
			<td><font color="#000000" size="2">Date de péremption:</font></td>
			<td><input type="text" name="t" id="calcul_vis2" value="2009-03-15" disabled="disabled" /></td>

		</tr>
			<tr>
			<td colspan="2"><i>Un décalage peut apparaitre lié aux années bisexstiles.</i></td>
			</tr>
			<tr>
			<td><font color="#000000" size="2">Date d'alerte:</font></td>
			<td> <input type="text" name="r" id="vis_prev2" value="2009-02-13" disabled="disabled" /></td>

		</tr>
</table>
<input type="hidden" id="vis_prev" name="vis_prev" /><input type="hidden" id="calcul_vis" name="calcul_vis" />
<input type="hidden" id="mode45" name="mode" value=""/>
<p align="center">		 
<input type="submit" value="Mettre à jour" name="agree" />
</p>
</form>

<script type="text/javascript">
    function catcalc(cal) {
        var date = cal.date;
        var time = date.getTime()
        var toum = date.getTime()
        // use the _other_ field
        
        var field = document.getElementById("calcul_vis2");
        var tps = document.getElementById("tps");
        var field2 = document.getElementById("vis_prev2");
        var field3 = document.getElementById("calcul_vis");
        var field4 = document.getElementById("vis_prev");
        if (tps.value == 5)
          {
            time += 1825*Date.DAY; // on ajoute 5* 365 jours
            toum += 1795*Date.DAY;
          }
        else
          {
            time += 730*Date.DAY; // on ajoute 2*365 jours
            toum += 700*Date.DAY;
          }
        var date2 = new Date(time);
        field.value = date2.print("%Y-%m-%d");
        
        var date3 = new Date(toum);
        field2.value = date3.print("%Y-%m-%d");
        
        var date22 = new Date(time);
        field3.value = date22.print("%Y-%m-%d");
        var date33 = new Date(toum);
        field4.value = date33.print("%Y-%m-%d");

        
        
    }
    Calendar.setup({
        inputField     :    "vis",   // id of the input field
        ifFormat       :    "%Y-%m-%d",       // format of the input field

        onUpdate       :    catcalc
    });
    Calendar.setup({
        inputField     :    "calcul_vis2",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });
    
    Calendar.setup({
        inputField     :    "vis_prev2",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });
    //recopie
        Calendar.setup({
        inputField     :    "calcul_vis",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });
        Calendar.setup({
        inputField     :    "vis_prev",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });


</script>

			 
			<br/>
			<img src="../style/bb.png" alt="deco" /> <br/>

			<blockquote><p align="justify"><font color="#000000" size="2">Si vous etes l'heureux détenteur d'une licence de Brevet de Base, vous pouvez dans cette partie bénéficier d'une meme service que pour votre visite médicale:
			<br/> Etre averti 1 mois à l'avance de sa peremption par mail<br/><br/> Modifié le:</font><font color="#FF0000" size="2"> 2008-10-24 00:00:00</font></p></blockquote>
			<br/>
			
			<form  method="get" action="exe.php">
			<table border="0" cellpadding="2" style="border-collapse: collapse; text-align:left; margin:auto; " width="100%" id="table145">
		<tr>

			<td><font color="#000000" size="2">Date de validation:</font></td>
			<td><input type="text" name="bb" id="bb" value="2008-10-09" />
			</td>
		</tr>
		<tr>
			<td><font color="#000000" size="2">Date de péremption:</font></td>
			<td><input type="text" name="t" id="calcul_bb2" value="2013-10-08" disabled="disabled" /></td>
		</tr>

			<tr>
			<td colspan="2"><i>Un décalage peut apparaitre lié aux années bisexstiles.</i></td>
		</tr>
		<tr>
			<td><font color="#000000" size="2">Date d'alerte:</font></td>
			<td> <input type="text" name="r" id="bb_prev2" value="2013-09-08" disabled="disabled" /></td>
		</tr>

</table>
<input type="hidden" id="bb_prev" name="bb_prev" /><input type="hidden" id="calcul_bb" name="calcul_bb" />
<input type="hidden" id="mode1" name="mode" value=""/>
<p align="center">		 
<input type="submit" value="Mettre à jour" name="agree_bb" />
</p>
</form>

<script type="text/javascript">
    function catcalc(cal) {
        var date = cal.date;
        var time = date.getTime()
        var toum = date.getTime()
        // use the _other_ field
        
        var field = document.getElementById("calcul_bb2");
        var field2 = document.getElementById("bb_prev2");
        var field3 = document.getElementById("calcul_bb");
        var field4 = document.getElementById("bb_prev");

            time += 730*Date.DAY; // on ajoute 2*365 jours
            toum += 700*Date.DAY;
            
        var date2 = new Date(time);
        field.value = date2.print("%Y-%m-%d");
        
        var date3 = new Date(toum);
        field2.value = date3.print("%Y-%m-%d");
        
        var date22 = new Date(time);
        field3.value = date22.print("%Y-%m-%d");
        var date33 = new Date(toum);
        field4.value = date33.print("%Y-%m-%d");

        
        
    }
    Calendar.setup({
        inputField     :    "bb",   // id of the input field
        ifFormat       :    "%Y-%m-%d",       // format of the input field

        onUpdate       :    catcalc
    });
    Calendar.setup({
        inputField     :    "calcul_bb2",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });
    
    Calendar.setup({
        inputField     :    "bb_prev2",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });
    //recopie
        Calendar.setup({
        inputField     :    "calcul_bb",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });
        Calendar.setup({
        inputField     :    "bb_prev",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });


</script>

			<img src="../style/sep.png" alt="deco" /> <br/>
			<blockquote><p align="justify"><font color="#000000" size="2">Pour les détenteurs de la licence <b>PPL (Private Pilot Licence)</b>. De la même façon, il est possible d'etre avertie 1 mois à l'avance de la peremption de la <b>SEP (Single Engine Pilot)</b>.
			<br/> Pour rappel <b><u>la licence SEP est à proroger tous les 2 ans </u></b>si bien sûr vous possédez:<br/>

      <br/> Modifié le:</font><font color="#FF0000" size="2"> 2008-10-24 00:00:00</font></p></blockquote><br/>
      
			<form  method="get" action="exe.php">
			<table border="0" cellpadding="2" style="border-collapse: collapse; text-align:left; margin:auto; " width="100%" id="table178">
		<tr>
			<td><font color="#000000" size="2">Date de votre sepite:</font></td>
			<td><input type="text" name="sep" id="sep" value="2008-10-16" />

			</td>
		</tr>
		<tr>
			<td><font color="#000000" size="2">Date de péremption:</font></td>
			<td><input type="text" name="t" id="calcul_sep2" value="2010-10-16" disabled="disabled" /></td>
		</tr>
			<tr>
			<td colspan="2"><i>Un décalage peut apparaitre lié aux années bisexstiles.</i></td>

		</tr>
			<tr>
			<td><font color="#000000" size="2">Date d'alerte:</font></td>
			<td> <input type="text" name="r" id="sep_prev2" value="2010-09-16" disabled="disabled" /></td>
		</tr>
</table>
<input type="hidden" id="sep_prev" name="sep_prev" />
<input type="hidden" id="calcul_sep" name="calcul_sep" />
<input type="hidden" id="mode21" name="mode" value=""/>
<p align="center">		 

<input type="submit" value="Mettre à jour" name="agree_sep" />
</p>
</form>

<script type="text/javascript">
    function catcalc(cal) {
        var date = cal.date;
        var time = date.getTime()
        var toum = date.getTime()
        // use the _other_ field
        
        var field = document.getElementById("calcul_sep2");
        var field2 = document.getElementById("sep_prev2");
        var field3 = document.getElementById("calcul_sep");
        var field4 = document.getElementById("sep_prev");

            time += 730*Date.DAY; // on ajoute 2*365 jours
            toum += 700*Date.DAY;

        var date2 = new Date(time);
        field.value = date2.print("%Y-%m-%d");
        
        var date3 = new Date(toum);
        field2.value = date3.print("%Y-%m-%d");
        
        var date22 = new Date(time);
        field3.value = date22.print("%Y-%m-%d");
        var date33 = new Date(toum);
        field4.value = date33.print("%Y-%m-%d");

        
        
    }
    Calendar.setup({
        inputField     :    "sep",   // id of the input field
        ifFormat       :    "%Y-%m-%d",       // format of the input field

        onUpdate       :    catcalc
    });
    Calendar.setup({
        inputField     :    "calcul_sep2",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });
    
    Calendar.setup({
        inputField     :    "sep_prev2",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });
    //recopie
        Calendar.setup({
        inputField     :    "calcul_sep",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });
        Calendar.setup({
        inputField     :    "sep_prev",
        ifFormat       :    "%Y-%m-%d",

        onUpdate       :    catcalc
    });


</script>
		</div>	

			</div></div>
<div id="droite">
			<div class="mod">
			<h1>Connexion ::.</h1>
			<div class="navigation">

			<ul>
				<li><a href="deconnexion.php">Deconnexion</a></li>
				<li><a href="../index.php" target="_Blank">Ouvrir le site en //</a></li>
			</ul>
			</div>
			</div>
			<div class="mod">
			<h1>Articles ::.</h1>

			<div class="navigation">
			<ul>
				<li><a href="creation.php?type=article">Creation</a></li>
				<li><a href="#">Actuellement en ligne</a></li>
				<li><a href="#">Contacts</a></li>
			</ul>
			</div>

			</div>
			</div>
		</div>
	</body>
</html>


Enfin une dernière chose
Sur une de mes pages le validator ne comprend pas:

Line 183, Column 74: there is no attribute "onClick".

…A308"><a href="javascript:;" onClick="window.open('del.php?id=109','_blank','

Il n'aime pas le onClick - y a t'il un moyen de faire en sorte qu'il comprenne? (rajouter une ligne dans head?)

Je sens les critiques arriver mais ça fait du bien aussi Smiley ohwell

Merci
Flayks a écrit :
La seule chose que je peux dire, c'est que valider son code (x)html, ca n'a rien à voir avec la différence d'affichage et de moteur web des navigateurs.

Non, ça a à voir. Par contre, cela ne suffit pas.
Tu peux avoir un code valide mais mal conçu. Ou encore un code valide mais mal compris ou mal interprété par les navigateurs (bugs, absence de support de telle ou telle propriété, etc.).
Dans tous les cas, c'est déjà mieux que d'avoir un code mal conçu, mal interprété et invalide. Smiley cligne

Flayks a écrit :
Je te conseilles de faire une feuille de style spéciale pour IE

Si c'est une feuille contenant uniquement un nombre réduit de correctifs (quelques lignes de code en tout), et appelée via un commentaire conditionnel visant précisément les versions d'Internet Explorer concernées, pourquoi pas. Autrement, non.