Forum Clubic

Décalage dans le rendu

J"obtiens un décalage du corps de la page lorsque je fais un

<?php include '../menu.php'; ?>

Voici les faits en image :
Sur la page d’accueil, où le code est directement écrit dans le fichier index.html

http://perso.orange.fr/hesperion/clubic/2008/index.png

<body onload="montre()">
<!-- Menus -->
<dl id="menu">
	<dt onmouseover="javascript:montre();" class="plateforme"><a href="http://">Retour à la plateforme</a></dt>
	<dt onmouseover="javascript:montre('smenu1');">Nombres</dt>
		<dd id="smenu1" onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre();">
			<ul>
				<li><a href="nombres/op_additions.php">Additions (relatifs)</a><span>nv.5<sup>&egrave;me</sup></span></li>
				...
			</ul>
		</dd>
...
</dl>
<!-- Corps de texte -->
<table class="tableau_p" style="height:200px;">

Sur une des autres pages, avec le php.include

http://perso.orange.fr/hesperion/clubic/2008/autre.png

<body onload="document.forms[0].reset(); montre();">
<!-- Menus -->
<div><?php include '../menu.php'; ?></div>

<!-- Exercices -->
<form action="">
<table class="tableau_p">

Edité le 21/08/2008 à 13:47

que contient ton menu.php ?

Et puis lorsque tu l’inclus, t’as rajouté un

Oui, un

pour que ça passe en XHTML 1.1, sinon ça me met une erreur à cet endroit, lors de la validation. S’il n’y est pas, ça met une erreur, et c’est tout de même décalé !
Le n’est pas autorisé dans la balise
Si je met un

, ça décale encore plus !

Le contenu du menu.php est exactement ce qui est dans le premier Code, entre et .
J’ai supprimé quelques lignes pour condenser le post.


J'ai essayé de positionner le tableau en position absolue, mais je rencontre alors un problème avec IE : la fin des menus passent sous le tableau. http://perso.orange.fr/hesperion/clubic/2008/ie.png

dans ce cas il faut également rajouter un div lorsque tu n’inclus pas menu.php ?

<----------------------- Nouveau div

Non, cela ne fait rien, aucun changement.

Quid de la position des sous-menus en arrière plan du tableau gris sous IE ?

Voici une mise en ligne : ICI pour voir le code en entier.
Edité le 14/09/2008 à 18:11

<body onload="montre()">
<!-- Menus -->
<div></div>
<dl id="menu">

Quand je dis ajouter un div, c’est un div qui englobe le menu (comme dans l’autre code …)

<div>
<dl id="menu">
	<dt onmouseover="javascript:montre();" class="plateforme"><a href="http://pm.mazat.free.fr">Retour à la plateforme</a></dt>
	<dt onmouseover="javascript:montre('smenu1');">Nombres</dt>
		<dd id="smenu1" onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre();">
			<ul>
				<li><a href="../nombres/op_additions.php">Additions (relatifs)</a><span>nv.5<sup>&egrave;me</sup></span></li>

				<li><a href="../nombres/op_soustractions.php">Soustractions (relatifs)</a><span>nv.5<sup>&egrave;me</sup></span></li>
				<li><a href="../nombres/op_multiplications.php">Multiplications (relatifs)</a><span>nv.4<sup>&egrave;me</sup></span></li>
				<li><a href="../nombres/ordre1.php">Ordre (d&eacute;cimaux)</a><span>nv.6<sup>&egrave;me</sup></span></li>
				<li><a href="../nombres/ordre2.php">Ordre (d&eacute;cimaux)</a><span>nv.6<sup>&egrave;me</sup> & 5<sup>&egrave;me</sup></span></li>

			</ul>
		</dd>

	<dt onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre();">Fractions</dt>
		<dd id="smenu2" onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre();">
			<ul>
				<li><a href="../fractions/simplifications.php">Simplifications</a><span>nv.5<sup>&egrave;me</sup></span></li>

			</ul>
		</dd>

	<dt onmouseover="javascript:montre('smenu3');" onmouseout="javascript:montre();">Équations</dt>
		<dd id="smenu3" onmouseover="javascript:montre('smenu3');" onmouseout="javascript:montre();">
			<ul>
				<li><a href="../equations/equations.php">Test d'&eacute;galit&eacute;</a><span>nv.5<sup>&egrave;me</sup></span></li>

			</ul>
		</dd>

	<dt onmouseover="javascript:montre('smenu4');" onmouseout="javascript:montre();">G&eacute;om&eacute;trie</dt>
		<dd id="smenu4" onmouseover="javascript:montre('smenu4');" onmouseout="javascript:montre();">
			<ul>
				<li><a href="../geometrie/tr_cc1.php">Tri. rect  et cercle circ. I</a><span>nv.4<sup>&egrave;me</sup></span></li>

			</ul>
		</dd>
</dl>
</div>

Edité le 21/08/2008 à 21:50

Oui oui, c’était le reste d’un Ctrl+z (balise de fin créé automatiquement puis déplacée à la fin)
Le résultat est le même.

J’ai fait des recherches sur les différents plans.
Si j’ai bien compris, cela se passe grâce au z-index dont la valeur la plus basse correspondant au plan le plus lointain.
Si je fixe celle des menus à 1, celle du tableau à 100, le menu est bien sous le tableau (pour FF et IE)
Si je fixe celle des menus à 100 et celle du tableau à 1, le menu est bien sur la tableau pour FF, mais dessous pour IE.

Pourquoi IE ne comprend jamais rien ?
Edité le 21/08/2008 à 22:16

mh j’ai peut être mal compris ton problème ?
Je pensais qu’il s’agissait un problème d’affichage vertical (dû a une difference entre l’include ou non).
Et là du Z-index ?

Pourrais-tu me rééxpliquer ton problème ?