Rollover en CSS, probleme sous IE [ impossible, merci IE ] - HTML/CSS - Programmation
Marsh Posté le 29-10-2004 à 10:36:16
c'est vrai
et j'avais tester
#test a:hover > #test2 { |
mais ca changeait rien
Marsh Posté le 29-10-2004 à 10:46:08
chacal_one333 > je ne crois pas que ce soit possible en css! ECMAScript !
Marsh Posté le 29-10-2004 à 10:47:11
simogeo a écrit : chacal_one333 > je ne crois pas que ce soit possible en css! |
meu si, marche bien sous ff
simogeo a écrit : |
pas moyen
Marsh Posté le 29-10-2004 à 10:56:02
chacal_one333 a écrit : meu si, marche bien sous ff |
ben ui mais la on parle d'ie
Marsh Posté le 29-10-2004 à 10:58:31
Citation : In other CSS-aware browsers, like Internet Explorer, you'll see the toplevel links, and they'll work just fine. The popout menus won't work, that's all. Of course, this means that the browser is downloading the contents of the complete menu, but only able to display a small part of what it downloaded. This is in some respects unfortunate, but at least the basic menu will still function. And the amount of markup involved is probably a lot fewer characters than a similar Javascript-driven menu intended to serve a similar purpose. |
Le dernier trick est celui qui est utilisé par les CSS très avancées (à menus déroulants) de CSSZG, sous Firefox on a des menus déroulants, sous MSIE on a des menu déroulés (et pas très beaux)
Les menus déroulants qui déroulent sous MSIE, c'est impossible sans IE7
Marsh Posté le 29-10-2004 à 10:59:34
j'ai reussi \o/
en mettant un id sur le link et en faisant un id:hover
<div id="test"> |
Marsh Posté le 29-10-2004 à 11:00:37
Oui enfin #menu1:hover dans ton cas c'est équivalent à a:hover
Marsh Posté le 29-10-2004 à 11:02:09
fastclemmy a écrit : Oui enfin #menu1:hover dans ton cas c'est équivalent à a:hover |
A a#menu1:hover pour être précis
Marsh Posté le 29-10-2004 à 11:03:06
ReplyMarsh Posté le 29-10-2004 à 11:06:32
chacal_one333 a écrit : ben nan #menu1 etant le a |
Tu peux avoir d'autres balises a
donc #menu1 != a
mais #menu1 == a#menu1
et c'est la raison pour laquelle ton truc marche (puisque MSIE gère a:hover)
Marsh Posté le 29-10-2004 à 11:09:00
Masklinn a écrit : Tu peux avoir d'autres balises a |
ben ecoute j'ai fait
<div id="test"> |
ca fonctionne parfaitement
Marsh Posté le 29-10-2004 à 11:14:11
Citation : <a href="#" id="menu1">Livres |
Marsh Posté le 29-10-2004 à 11:14:58
ouais en fait nan, ya un ptit bug
vais voir ca, je mettrait la version finie plus tard
Marsh Posté le 29-10-2004 à 11:17:25
Et de toute facon il est pas bien ton menu
En plus du fait que tu utilises un hack (puisque la construction/destruction des sous menus se fait en triggerant sur <a>, mais bon ca se comprend vu qu'MSIE ne gère que ca) t'as fait ton menu à coup de <div> alors que ca se fait à coup de <ul><li>, histoire que les navigateurs non-CSS-compliant et les navs texte aient un truc potable à afficher
Marsh Posté le 29-10-2004 à 11:20:48
je sait ca
et ou je vais mettre des class
edit : ce n'est qu'un test de toute maniere, j'en ai pas besoin pour un site
Marsh Posté le 29-10-2004 à 11:34:38
oué ben je me rend à l'evidence comme le poste de maklinn le disait, c'est pas faisable sous IE
rien à faire, ca deroule le menu si on met pas de lien dessus, donc aucun interet
vais continuer un peu mais je croit vraiment pas que ca soit faisable
Marsh Posté le 29-10-2004 à 11:38:15
chacal_one333 a écrit : vais continuer un peu mais je croit vraiment pas que ca soit faisable |
Non, il faut faire en sorte que les éléments de menus soient accessibles à partir de liens sur les top-level (en gros, des pages/menus intermédiaires), ou alors il faut faire un CSS cachant le menu... uniquement sur les navigateurs capables de le réafficher (donc en gros sur MSIE tu laisses le menu déployé en permanence)
> !important hack
et en bas de la page, tu mets un petit sticky pour dire aux gens que la page est plus belle avec un vrai browser (genre fireOpera)
Marsh Posté le 29-10-2004 à 11:48:29
chacal_one333 a écrit : oué ben je me rend à l'evidence comme le poste de maklinn le disait, c'est pas faisable sous IE |
Marsh Posté le 29-10-2004 à 11:49:46
spa drole je trouve
IE arrete pas de gacher tout ce que je fait
Marsh Posté le 29-10-2004 à 12:06:46
chacal_one333 a écrit : spa drole je trouve |
Welcome to the real world of W3C compliant websites
Marsh Posté le 29-10-2004 à 12:08:00
ben j'etait deja welcome avant
mais ca la ca depasse les limite de la connerie, faire un truc banal comme ca et se faire planter en douce par IE c'est vraiment lamentable.
Marsh Posté le 29-10-2004 à 12:12:48
http://www.alsacreation.com/articles/
Pas mal d'aide pour faire des menus en css (et eventuellement parfois du javascript).
Marsh Posté le 29-10-2004 à 12:22:12
chacal_one333 a écrit : oué il mettent du JS sur les menus deroulants |
Bof, c'est pas la mort le JS, surtout si tu l'externalises complêtement via IE7 par exemple...
En ce qui me concerne, je préfère continuer d'utiliser uniquement du JS pour mes menus. Par principe, je n'aime pas utiliser différents codes pour tel ou tel navigateur.
Marsh Posté le 29-10-2004 à 12:23:44
nan j'utilise pas de JS du tout, si ca marche pas tant pi, ca sera un autre menu
Marsh Posté le 29-10-2004 à 12:27:18
chacal_one333 a écrit : nan j'utilise pas de JS du tout, si ca marche pas tant pi, ca sera un autre menu |
Ben c'est aussi une possibilité, mais dans ce cas là tu limites les possibilités. ET ça non plus, ça ne me plait pas.
Marsh Posté le 29-10-2004 à 12:31:08
ReplyMarsh Posté le 29-10-2004 à 12:31:17
chacal_one333 a écrit : nan j'utilise pas de JS du tout, si ca marche pas tant pi, ca sera un autre menu |
Regarde comment Organic Desire a été fait:
menu déroulant sous Firefox
menu normal (déroulé) sous MSIE
et en plus le CSS est bien commenté
Le CSS de Zaurus est également plutôt clair (en gros le principe est d'utiliser #a > #b, parce que MSIE n'est pas capable de le comprendre, donc tu crée le menu pour les navs qui ne comprennent pas, puis pour ceux qui comprennent [et comprennent donc !hover])
Marsh Posté le 29-10-2004 à 12:34:35
voué pas mal, mais bon c'est super con que IE limite autant le devellopement propre.
ca sera autre chose et c'est tout
Marsh Posté le 29-10-2004 à 12:36:12
Masklinn a écrit : Regarde comment Organic Desire a été fait: |
C'est très simple à réaliser, mais déjà la largeur des menus est définie, ya aucune adaptation dynamique au contenu possible etc...
Bref, gadget inutilisable si on fait un site dynamique dans lequel le contenu des menus change par exemple.
De plus, c'est pas propre, le menu ne disparait pas quand on le quitte (enfin si, mais au dela du menu en question).
des trucs comme ça, on en trouve à foison. C'est presque toujours la même histoire, jamais vraiment compatible, jamais propre etc...
Marsh Posté le 29-10-2004 à 12:37:28
chacal_one333 a écrit : voué pas mal, mais bon c'est super con que IE limite autant le devellopement propre. |
ça c'est clair.
Ceci dit, un javascript externalisé non indispensable au bon fonctionnement du site, je ne vois pas en quoi cela n'est pas propre.
Marsh Posté le 29-10-2004 à 12:39:45
Hermes le Messager a écrit : De plus, c'est pas propre, le menu ne disparait pas quand on le quitte (enfin si, mais au dela du menu en question). |
Marsh Posté le 29-10-2004 à 12:40:09
ben le menu est pour moi la base du site, donc si le truc est fait en JS, ben forcement ca bloque la naviguation à certain, qui l'ont choisi certe, mais ca bloque certain visiteurs, je prefere avoir un autre menu, different de mon idée, mais compatible avec tout le monde sans avoir besoin de script exterieurs
Marsh Posté le 29-10-2004 à 12:44:18
chacal_one333 a écrit : ben le menu est pour moi la base du site, donc si le truc est fait en JS, ben forcement ca bloque la naviguation à certain, qui l'ont choisi certe, mais ca bloque certain visiteurs, je prefere avoir un autre menu, different de mon idée, mais compatible avec tout le monde sans avoir besoin de script exterieurs |
Non, fait intelligemment, un menu qui repose en partie sur du JS, peut parfaitement s'afficher déplié si pas de JS.
C'est équivalent à un menu en CSS, vu que de toutes manière, on utilise le JS pour afficher ou cacher via des propriétés CSS.
Il n'y a pas de différences fondamentales.
Marsh Posté le 29-10-2004 à 10:11:25
Je rencontre un leger soucis avec IE, je "m'amuse" à faire un menu en css/html en jouant sur les propriété display, mais IE refuse de cooperer
html
<div id="test">
<a href="#">menu 1</a>
<div id="test2">hello</div>
</div>
css
#test {
width:150px;
height:20px;
}
#test a {
background-color:#bbb;
height:100%;
width:100%;
display:block;
border:1px solid black;
}
#test a:hover {
background-color:#ddd;
}
#test2 {
border:1px solid black;
width:150px;
height:20px;
display:none;
}
#test:hover #test2 {
display:block;
}
au survol de #test le div test2 devrait se montrer, mais il n'en est rien.
testé sous FF, ca fonctionne tres bien
une idée?
Message édité par Profil supprimé le 29-10-2004 à 12:11:38