Bonjour à tous,
Je suis en train de refaire un site et je me confronte à un problème jamais rencontré auparavant : alors que sur tous les autres navigateurs ça roule, sous IE6, les DIV avec un float:left disparaissent (ou sont cachées par je ne sais quoi)
Le site en exemple

Comment c'est possible ? Il y a surement un explication logique mais elle m'échappe...
merci de votre aide
Modifié par miltonis (21 Jul 2010 - 15:29)
Administrateur
Salut,

Je n'ai pas les moyens de tester ici, mais ça me semble être un problème classique de HasLayout.
Si tu ajoutes un zoom: 1; sur l'élément qui disparaît, cela résout-il le problème ?

Bonne chance.
Raphael a écrit :
Salut,

Je n'ai pas les moyens de tester ici, mais ça me semble être un problème classique de HasLayout.
Si tu ajoutes un zoom: 1; sur l'élément qui disparaît, cela résout-il le problème ?


Salut Raphael,
Zoom:1 ne résout malheureusement pas le problème, je l'ai appliqué aux a trois blocs affectés (la partie contenu du site est faite de 3 colonnes).
Les 3 blocs ont les propriétés float:left et width:n
Si j'enlève la propriété FLOAT, les éléments apparaissent mais plus alignés évidemment Smiley ohwell

Je vais explorer ton autre piste, j'ai trouvé cette page : HasLayout. Au cas où, voici le CSS correspondant au bug :
#conteneur {
	position: relative;
	background-color: #FFFFFF;
	margin: 0;
	padding: 5px 5px 0 5px;
}
/* Accueil - Colonne Gauche */
div.colGauche_01 {
	float: left;
	background-color: #E9EEF4;
	width: 265px;
	padding: 8px 10px;
}
/* Accueil - Colonne Centre */
div.colCentre_01 {
	float: left;
	width: 300px;
	margin: 0 0 0 18px;
}
/* Accueil - Colonne Droite */
div.colDroite_01 {	
	float: left;
	background-image: url(../../images/template/colDroite_middle.png);
	background-position: 15px 0;
	background-repeat: repeat-y;	
	width: 370px;
	padding: 0 0 0 15px;
}


Merci Smiley smile
Administrateur
miltonis a écrit :

Je vais explorer ton autre piste

En fait c'est la même piste : zoom:1 corrigerait un problème de Haslayout.
Pour ceux que ca intéresse: il faut placer le zoom: 1; sur le parent et non pas sur les enfants qui disparaissent sous IE6.

Dans mon cas le bug disparaissait aussi en enlevant la propriété position: relative; des enfants... Mais je devais impérativement la conserver.
Bonjour,

Pour info , le positionnement relatif 'cloisonne' l'affichage dans IE6 et cache tout les enfants affiché a l'extérieur de cet élément .
Dans ton cas les éléments flottants qui n'étirent pas leur conteneur (le défaut de haslayout) , mais cela peut-être aussi des éléments repositionné en absolue a l'extérieur de celui-ci par exemple .
Le positionnement relatif induit une modification de l'affichage (reflow ou rafraichissement partiel des zones concernées ) , IE6 y est très sensible Smiley smile .

Ton soucis cumulais ces deux "defauts" ... en cascade.

GC