Menu CSS vers le haut
Résolu
phantomxlord
Messages postés
470
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
12 juillet 2009
-
16 juil. 2008 à 17:05
phantomxlord Messages postés 470 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 12 juillet 2009 - 16 juil. 2008 à 18:53
phantomxlord Messages postés 470 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 12 juillet 2009 - 16 juil. 2008 à 18:53
A voir également:
- Menu CSS vers le haut
- Menu déroulant excel - Guide
- Windows 11 menu démarrer classique - Guide
- Comment remettre le son haut-parleur ? - Guide
- Réinitialiser menu démarrer windows 10 - Guide
- Canon quick menu - Télécharger - Utilitaires
6 réponses
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
16 juil. 2008 à 17:18
16 juil. 2008 à 17:18
Bonjour.
Tu fermes deux fois ta balise.
- Dans le menu, tu fermes un UL que tu n'as pas ouvert. Et j'ai du mal à voir l'intérêt d'utiliser des listes à l'intérieur d'une liste de définitions.
- Tu ne montres pas le Javascript.
- Je ne comprends pas : tu veux mettre ton menu où, au juste ?
#menu dt { [...] } }
Tu fermes deux fois ta balise.
- Dans le menu, tu fermes un UL que tu n'as pas ouvert. Et j'ai du mal à voir l'intérêt d'utiliser des listes à l'intérieur d'une liste de définitions.
- Tu ne montres pas le Javascript.
- Je ne comprends pas : tu veux mettre ton menu où, au juste ?
phantomxlord
Messages postés
470
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
12 juillet 2009
34
16 juil. 2008 à 17:29
16 juil. 2008 à 17:29
merci j'ai corrigé le CSS
désolé voici donc le .js
pour l'emplacement du menu je viens de mettre à jour ma page de teste à l'adresse que j'ai donné plus haut vous pouvez le voir en survolant le bouton de menu du pc en bas à gauche
désolé voici donc le .js
<script type="text/javascript"> <!-- window.onload=montre; function montre(id) { var d = document.getElementById(id); for (var i = 1; i<=10; i++) { if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';} } if (d) {d.style.display='block';} } //--> </script>
pour l'emplacement du menu je viens de mettre à jour ma page de teste à l'adresse que j'ai donné plus haut vous pouvez le voir en survolant le bouton de menu du pc en bas à gauche
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
16 juil. 2008 à 18:08
16 juil. 2008 à 18:08
Dans le #menu dd, il suffit de rajouter top:-200px;
Avec 200px = 25 (hauteur des lignes du menu dans le CSS) * 8 (nombre de lignes du menu).
Sinon, tu pourrais améliorer un peu ton code, parce que là j'ai l'impression que tu accumules des objets inutiles.
Par exemple :
- Suppression du <div id="menu">, en identifiant le <dl id="menu">
- Suppression des <li class="opaque" >, en conservant les <a> et en leur donnant dans le CSS la propriété display: block; (entre autres).
tu te retrouverais, en gros, avec :
Ce qui est quand-même un peu plus clair (ou mieux, en utilisant une liste plutôt qu'une liste de définitions)...
Avec 200px = 25 (hauteur des lignes du menu dans le CSS) * 8 (nombre de lignes du menu).
Sinon, tu pourrais améliorer un peu ton code, parce que là j'ai l'impression que tu accumules des objets inutiles.
Par exemple :
- Suppression du <div id="menu">, en identifiant le <dl id="menu">
- Suppression des <li class="opaque" >, en conservant les <a> et en leur donnant dans le CSS la propriété display: block; (entre autres).
tu te retrouverais, en gros, avec :
<dl id="menu"> <dt onMouseOver="javascript:montre('smenu1');" onMouseOut="javascript:montre('');">Menu</dt> <dd id="smenu1" onMouseOver="javascript:montre('smenu1');" onMouseOut="javascript:montre('');"> <a href="#">Profil</a> <a href="#">Dessins et Croquis</a> <a href="#">Créations et Retouches</a> <a href="#">Déssins véctoriels</a> <a href="#">Animations Flash</a> <a href="#">Photographies</a> <a href="#">Vidéos</a> <a href="#">Contactez moi</a> </dd> </dt> </dl>
Ce qui est quand-même un peu plus clair (ou mieux, en utilisant une liste plutôt qu'une liste de définitions)...
phantomxlord
Messages postés
470
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
12 juillet 2009
34
16 juil. 2008 à 18:20
16 juil. 2008 à 18:20
Merci beaucoup pour tes conseils je viens d'optimiser mon code html et tut fonctionne bien sauf sur ma dame noire j'ai appelé IE : je te laisse regarder http://metllicak.free.fr/
juste une question : en actualisant la page on peut remarquer que le menu apparait très rapidement avant de se mettre en hide, est ce qu'il est possible d'éviter ceci car mon js a l'air d'être correcte.
merci encore pour ton aide car depuis ce matin je suis en galère sur ce menu sans y arriver
juste une question : en actualisant la page on peut remarquer que le menu apparait très rapidement avant de se mettre en hide, est ce qu'il est possible d'éviter ceci car mon js a l'air d'être correcte.
merci encore pour ton aide car depuis ce matin je suis en galère sur ce menu sans y arriver
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
16 juil. 2008 à 18:35
16 juil. 2008 à 18:35
Je n'ai pas IE sous la main, donc pas possible de tester...
Pour le menu qui est visible au chargement de la page :
C'est le JS qui fait ça. En fiat, le code est fait pour que, au ca soù n visite ton site sans avoir le JS activé, on puisse voir le menu.
La solution, si tu acceptes de pénaliser les utilisateurs ne disposant pas de JS, c'est de fixer dans le CSS la propriété display de smenu1 à none (c'est ce que fait le JS au lancement de la page) :
Pour le menu qui est visible au chargement de la page :
C'est le JS qui fait ça. En fiat, le code est fait pour que, au ca soù n visite ton site sans avoir le JS activé, on puisse voir le menu.
La solution, si tu acceptes de pénaliser les utilisateurs ne disposant pas de JS, c'est de fixer dans le CSS la propriété display de smenu1 à none (c'est ce que fait le JS au lancement de la page) :
#smenu1 { display:none;}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
phantomxlord
Messages postés
470
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
12 juillet 2009
34
16 juil. 2008 à 18:42
16 juil. 2008 à 18:42
ah d'accord je vois, tant dis que c'est rare les gens qui coupe le JS je vais (pour le coté esthétique) mettre en display : none
merci encore de ton aide je vais mettre le topic en résolu car c'est à peu près ça (sauf pour IE)
mais si t'as une solution pour IE je suis preneur ^^
mais là je vais encore chercher pour régler ceci
merci beaucoup pour ton aide (j'aurais d'autres question pour des div mais ça attendra demain et dans un nouveau sujet)
Merci encore et bonne soirée à toi
merci encore de ton aide je vais mettre le topic en résolu car c'est à peu près ça (sauf pour IE)
mais si t'as une solution pour IE je suis preneur ^^
mais là je vais encore chercher pour régler ceci
merci beaucoup pour ton aide (j'aurais d'autres question pour des div mais ça attendra demain et dans un nouveau sujet)
Merci encore et bonne soirée à toi
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
16 juil. 2008 à 18:48
16 juil. 2008 à 18:48
c'est rare les gens qui coupe le JS
en fait, ça dépend du public visé, mais (par exemple) :
- Les malvoyants utilisent des navigateurs sans JS.
- La consultation via le téléphone ne supporte pas toujours le JS.
- Certaines entreprises peuvent bloquer le JS pour des raisons de sécurité.
en fait, ça dépend du public visé, mais (par exemple) :
- Les malvoyants utilisent des navigateurs sans JS.
- La consultation via le téléphone ne supporte pas toujours le JS.
- Certaines entreprises peuvent bloquer le JS pour des raisons de sécurité.
phantomxlord
Messages postés
470
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
12 juillet 2009
34
16 juil. 2008 à 18:53
16 juil. 2008 à 18:53
oui exacte je me suis dis ça aussi donc du coup tant pis ça apparaitra
merci encore
ps : je vois pas d'où vient le problème IE :s
merci encore
ps : je vois pas d'où vient le problème IE :s