Bonjour,

J'ai un bug improbable dont je n'ai trouvé la solution nulle part (pourtant j('ai bien cherché) alors je viens quémander du secours ici.
Oui, oui, comme un mendiant Smiley lol

Bref, mon problème est le suivant :
Sous firefox tout s'affiche très bien, mais sous internet explorer, j'ai une balise div "coupée" en deux.
En gros, j'ai le haut de mon bloc qui s'affiche, puis mon menu de gauche (aligné avec float: left;) puis en dessous le nas du bloc. Pourtant, le menu est bien aligné à gauche, ne dépasse pas, rien de tout ça. Juste mon bloc principal à un ... trou en plein milieu presque de la hauteur du menu.ement sur IE.

Un exemple : http://img299.imageshack.us/img299/1935/testoeilblanc8ic.gif

Au secours !

(merci d'avance Smiley cligne )
Modifié par LaHyenne (06 Feb 2006 - 22:36)
Je me disais dès fois que le problème était déjà vu Smiley lol


Le code :

<div id="menu">
	
		<div class="element_menu">
			<h3><a href="index.php">Retour à l'accueil</a></h3>
		</div>
		
		<div class="element_menu">
			<h3>Infos personelles</h3>
			<ul>
				<? 
Petit code php pour l'affichage du login si connecté. Invité sinon.
				?>
			</ul>
		</div>
		
		<div class="element_menu">
			<h3>Où aller ?</h3>
			<ul>
				<li><a href="forum.php">Le forum</a></li>
			</ul>
		</div>
		
		<div class="element_menu">
			<h3>Utiles</h3>
			<ul>
				<li><a href="user.php?action=online"><? echo $connectes; ?></a></li>
				<li><a href="forum.php?id_forum=0&action=nouveaux"><? echo $new_posts; ?></a></li>
			</ul>

		</div>
		
	</div>

<?
// Du code php pour récupérer $action
?>

<div id="main">
	<div class="element_main">
		<? echo $actions; ?>
	</div>
	
	
	<div class="element_main">
		<p>
			<table class='forum'>
				<tr><td colspan=3 class='separateur'>Forums parents</td></tr>
				<? forums_parents($id_forum); ?>
				<? 
					if($action == "nouveau") 
					{
						echo "<tr><td colspan=3>";
						formulaire("Titre du post :","Votre post :","post_new",$id_forum,0,"",""); 
						echo "</td></tr>"; 
					}
					if($action == "new_forum")
					{
						echo "<tr><td colspan=3 class='separateur'>Nouveau forum</td></tr>";
						echo "<tr><td colspan=3>";
						formulaire("Titre du forum :","Description :","forum_new",$id_forum,0,"",""); 
						echo "</td></tr>"; 
					}	
					if($action == "edit_forum" && isset($_GET['to_edit']) && $_GET['to_edit']!="")
					{
						$sql_forums = 'SELECT titre,sstitre FROM il_forums WHERE id_forum='.$_GET['to_edit'].' '; 
						$req_forums = mysql_query($sql_forums) or die('Erreur SQL !<br>'.$sql_forums.'<br>'.mysql_error()); 	
						$to_edit = mysql_fetch_array($req_forums);
						
						echo "<tr><td colspan=3 class='separateur'>Nouveau forum</td></tr>";
						echo "<tr><td colspan=3>";
						formulaire("Titre du forum :","Description :","forum_edit",$id_forum,$_GET['to_edit'],stripslashes($to_edit['titre']),stripslashes($to_edit['sstitre']) ); 
						echo "</td></tr>"; 
					}	
					if($action == "nouveaux")
						forum_new_posts();
					else
					{
						echo "<tr><td colspan=3 class='separateur'>Les forums</td></tr>";
						forum($req_forums); 
						forum_post($req_posts, $id_forum); 
					}
				?>
			</table>
		</p>
	</div>


J'ai avec tout ça un petit css qui contient en gros :

	#menu
	{
		margin-bottom: 1%;
	
		float: left;
		width: 200px; 
		
		border: 1px solid black;
		background-color: #B4B4F0; 
	}
	
		#menu .element_menu
		{
			margin: 7px;
			
			border: 1px solid black;
			background-color: #DFDFFF; 
		}
	
	
	#main
	{
		margin-left: 210px;
		margin-bottom: 1%;
		
		border: 1px solid black;
		background-color: #B4B4F0; 
	}
	
		#main .element_main
		{
			margin: 1%; 
			padding: 1%;
					
			border: 1px solid black;
		
			background-color: #DFDFFF; 
		}
	
	
		/* LE FORUM */
		
		.forum
		{
			width: 100%;
		}
		.forum td
		{
			padding: 1%; 
			padding-left: 10px; 
			padding-right: 10px; 
			border: 1px solid black;
		}
		.forum #col1
		{
			width: 15%;
			padding-top: 7px;
			vertical-align: top;
		}
		.forum #col2
		{
			width: 60%;
		}
		.forum .separateur
		{
			background-color: #B0B0E7;
			text-align: center;
		}
		.forum .separateur2
		{
			background-color: #E0E0FF;
			text-align: center;
		}
		.forum .titre
		{
			background-color: #D0D0FF;
			text-align: left;
		}


Bon, je sais, mon code n'est pas sensationel (et surement pas très homologué), mais je suis en plein chantier de validation.
Et j'aimerais avant tout résoudre ça.

Note 1 : l'adresse : www.lahyenne.org/il
Note 2 : Est-ce que cela peut venir du fait que j'ai du code php au milieu de ma page ? Ou des fonctions récursives qui calculent si j'ai des nouveau messages dans mes sous forums (et sous-sous forums, etc.) ?
Salut,

Essaie de supprimer le width: 100%; du sélecteur .forum dans ta feuille de style
.forum
{
	width: 100%;
}

Peut être que sans cela ça ira mieux
Modifié par Alan (06 Feb 2006 - 22:20)
Bon t'es mon Dieu personnel !
Hop je vais caler le [Résolu]


Au fait, il y a une explication rationnelle, maintenant que ça marche ?
Bah en fait c'est juste que j'ai déjà eu ce même problème sur IE, avec les mêmes conséquences, en donnant un width: 100%; a un tableau.. Bizarrement, en remplaçant par un width: 99%; (tu peux essayer. Ca sera peut être utile pour ta mise en page), le problème disparaissait.
Je n'ai jamais cherché à comprendre. J'ai juste constaté et contourné.

A+ Smiley smile