28173 sujets

CSS et mise en forme, CSS3

Salut !

Le code est assez complexe. Il s'agit d'un système d'arborescence basé sur des listes imbriqués.

Le code fonctionne parfaitement bien sous Firefox. Mais sous IE, il y a un décalage qui apparait sur les menu frères inférieurs lorsque les menus frères supérieurs sont déroulé ou enroulé.

Un exemple valant mieux qu'un long discours, en voici deux, le premier pour IE et le second pour un navigateur DOM :
http://macintoc1.free.fr/arborescenceIE.html
http://macintoc1.free.fr/arborescenceDOM.html

Dans la version IE, si on essayes d'ouvrir le menu Elément 2 puis le menu Elément 1, on voit clairement le décalage qu'il ajoute entre Element 2 et son sous-menu. De même qu'en ouvrant l'élément 1 puis en ouvrant l'Elément 2 et enfin en refermant l'Elément 1, on voit que les sous-menus de Element 2 se superposent à Element 1 et Element 2.
Dans la version DOM, il n'y a aucun soucis.

Pour l'instant, je n'ai pas de piste, je pensais pendant un moment que c'était à cause de mon display='block' dans le js, mais aprés vérification, les balise ul sont bien de type block. Et le CSS m'a l'air correct.

Donc je me demandais si finalement, ce n'était pas tous simplement un bug de IE7. Si c'était le cas, est-ce qu'il y aurait un moyen de le contourner ?
Modifié par MacIntoc (23 Feb 2007 - 17:07)
Il faut avoir js impérativement activé. Sinon, étant donné qu'il s'agit d'une arborescence, il faut cliquer sur le + pour développer l'élément, pas sur son texte.

Accessoirement, je sais pas si la version IE fonctionne sous IE6 Smiley lol

L'environnement est contrôlé, c'est pour cela que je me permets d'être aussi restrictif.
Etrange...
La version DOM devrait fonctionner avec FF1.5 (en tout cas, elle fonctionne bien de mon coté).
Et, après test, la version IE fonctionne bien sur IE6 (hormis le bug de positionnement, bien sur).

Je comprends pas pourquoi ça ne fonctionne pas chez toi Smiley ohwell

J'ai modifié un peu les scripts pour les débarrasser de toutes trace de code DOM pour la version IE et de code IE pour la version DOM. La version DOM fonctionne maintenant avec Opera 9.1 (faudra que je penses a faire une détection du navigateur plus précise qu'un simple document.all, à l'avenir).
Modifié par MacIntoc (26 Feb 2007 - 17:32)
Euh... y a d'autres personnes que Cygnus chez qui ça ne fonctionne pas ?
Pasque j'ai beau testé sur différents PC, la version DOM ne pose pas de problème sous Firefox/Opera et la version IE fonctionne sous IE (avec un affichage foireux, mais ça fonctionne).