28173 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai plusieurs problèmes avec un menu flyout.

Quand je pointe sur le menu principal, une bordure de 4px rouge apparaît entre le menu principale et la sous-section. Tout va bien jusque là dans Firefox. Lorsque je glisse la souris sur une des sous-sections, la bordure rouge disparaît entre le menu principal et la sous-section et elle apparaît de l'autre côté, à droite de la sous-section.

Comment je peux faire pour avoir uniquement la brodure rouge qui reste en place permanente entre le menu principal et la sous-section sans disparaître lorsque je glisse dans la sous-section ?

Pour Exploreur 6 c'est plus compliqué. La bordure rouge ne fait pas le lien entre le menu principal et les sous-sections comme désiré mais elle reste à l'intérieur du menu principal.

Quelqu'un peut-il m'aider à résoudre ces problèmes.

Les adresses :
http://connaissances.org/site2/
http://connaissances.org/site2/web.css
http://connaissances.org/site2/css/flyout_ie.css

Merci
pour FF il faut soit attribuer une class differente pour menu et sous de maniere que la bordure soit une fois a droite et l'autre a gauche ou alors changer ul pour dl
<dl> <dt><a href=""">124</a></dt><dd>
<ul><li><a href="">421</a></li></ul</dd>

a repeter sur chaque menu et sous menu
 en css
dt {border-right: 4px solid red;}
li  {border-left: 4px solid red;}

a partir de la tu regleras plus facilement le probleme avec IE
Modifié par jp94 (07 May 2006 - 10:49)
Le problème vient surtout du fait que IE est en mode de rendu Quircks et utilise par conséquent le modèle de boîte traditionnel (les bordures se soustraient à la largeur). Les autres navigateurs utiliseront quant à eux le modèle de boîte standard (les bordures se rajoutent à la largeur).

Ça vient de ton prologue XML tout au début du code. IE ne le comprend pas, et comme il cherche le doctype uniquement au tout début du document, il considère qu'il n'y a pas de doctype. Donc passe en mode Quircks.

De toute façon, le prologue XML n'est valable que pour un document XML, or là tu as un document XHTML servi HTML (bref, du HTML avec quelques menues différences syntaxiques). La preuve :
<meta http-equiv="Content-Type" content="[b]text/html[/b]; charset=iso-8859-1" />

Le type-mime utilisé est text/html et non pas application/xhtml+xml.

IE ne comprend pas le application/xhtml+xml, contrairement à certains autres navigateurs comme Firefox, qui le rendent bien sous réserve qu'il n'y ait pas la moindre erreur (sinon erreur de syntaxe, tout est fichu).
Pour jp94

J'avais seulement regardé le message mail me prévenant de ta réponse. Les codes n'y figurant pas, ton message me mettait tout de même sur une piste qui m'a permis de corriger pour IE. Ce qui a été une grosse surprise pour moi de pouvoir corriger pour EI avant FF.

Par contre, ça ne va pas encore pour FF. Avec les codes que je vois sur le forum, je vais essayer de régler le problème pour FF avec ceux-ci. Je vais essayer d'utiliser des dt et je te transmettrai les résultats.

Pour mpop,

Ce qui suit peut paraître dingue mais c'est comme ça que ça s'est passé :

Je n'ai jamais installé de prologue XML. Il s'est installé tout seul. Je suis assez novice en xhtml et en CSS. Je travaille avec un vieil éditeur WebExpert et un vieux AceFtp. Un des deux me semble en être la cause. Parce que ce prologue s'installe sporadiquement de lui-même lorsque je recharge mes pages en ligne, je me suis lassé de l'enlever. Je devrais sans doute travailler avec d'autres instruments.

Effectivement, j'ai vu une différence immédiatement dans IE lorsque j'ai enlevé le prologue XML.

Merci à vous deux pour ce bout de chemin. Vous pouvez voir où j'en suis rendu en ligne aux adresses du premier message. Lorsque j'aurai terminé de tester la solution de jp94 je reviens.
Bonjour,

J'ai essayé les conseils de jp94. En attribuant des class différentes, c'est sans succès. J'ai aussi essayé de changer les ul pour des dl et c'est complètement désastreux. Il n'y a plus de flyout du tout. Tous mes menus et mes sous-menus sont alignés verticalement et visibles en tout temps. Il y a probablement quelque chose que je n'ai pas compris.

Au lieu d'avancer, je m'éloigne. Je retourne à la case départ où au moins c'est bon avec IE.

Est-ce que quelqu'un a une idée ou peut m'expliquer les méthodes suggérées par jp94 parce que moi je n'y arrive pas.

Merci.