pb d'affichage et résolution d'écran (résolu)

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Répondre
dufossey
Gecko
Messages : 79
Inscription : 10 févr. 2009, 15:43

pb d'affichage et résolution d'écran (résolu)

Message par dufossey »

bonjour,

je rencontre un problème d'affichage de mes menus déroulants en fonction de la taille de la fenêtre !

pour que les boutons de mon menu et le texte s'adapte en fonction de la taille de la fenêtre, j'ai mis mes boutons en % et mon texte en "em" : cela fonctionne !
par contre, mon menu déroulant est en position absolue par rapport à un point 0 de ma page : tant de pixel du bord gauche, du haut .... par conséquent, quand je réduit ma fenêtre, mon menu déroulant se trouve décalé par rapport à mon menu fixe ! j'ai voulu passer les repères en % mais cela ne fonctionne pas, pour obtenir un menu déroulant de la même largeur que mes boutons de menu fixe, je suis obligé de les mettre à 500% de largeur :?: :?:

Pourriez vous m'aider à résoudre ce problème ?

je vous donne le code css de mon menu et de mon menu déroulant ainsi que le code html de ma page !

voici l'adresse de ma page pour vous faire une idée : http://hlanglois-27.bureauvirtuelscolai ... olaire.fr/
sur cette page, mon menu est encore en pixel et non en %!

Code : Tout sélectionner

#menu li {
  color: white;
  display: block;
  float: left;
  text-align: center;
  margin-bottom: 0%;
  text-transform: capitalize;
  margin-left: 1%;
  background-color: red;
  width: 12%;
  font-size: 0.8em;
  padding-right: 2px;
  padding-left: 2px;
}
ul.navlist {
  font-family: sans-serif;
}
ul.navlist a {
  font-weight: bold;
  text-decoration: none;
}
ul.navlist, ul.navlist ul, ul.navlist li {
  margin: 0px;
  padding: 0px;
  list-style-type: none;
}
ul.navlist li {
  float: left;
}
ul.navlist li a {
  border: thin solid white;
  padding: 0;
  display: block;
  color: #ffffff;
  background-color: red;
}
ul.navlist li a:hover {
  color: #ffff00;
  background-color: #cc0000;
}
ul.navlist li a:active {
  border: 1px inset #ffffff;
  color: #cccccc;
  background-color: #cc0000;
}
ul.navlist ul {
  position: absolute;
  font-size: 8pt;
  padding-top: 0px;
  display: none;
}
ul.navlist ul li {
  clear: both;
}
ul.navlist ul li a {
  border: thin solid ;
  margin: 0px;
  padding: 1px;
  display: block;
  width: 96px;
}
ul.navlist li:hover ul {
  display: block;
  z-index: 10;
}
ul.navlist li.hover ul {
  display: block;
  z-index: 10;
  margin-top: -8px;
}

Code : Tout sélectionner

<div id="menu">
<ul class="navlist">
  <li><a href="#">Rotation avant</a>
    <ul style="width: 219px; top: 152px; left: 8px;">
      <li><a href="rouladeavant.html">Roulade Avant</a></li>
      <li><a href="rouladeavantecart.html">Roulade
Avant
Ecart</a></li>
      <li><a href="rouladeavanttendue.html">Roulade
Avant
Tendue</a></li>
      <li><a href="rouladeavantelevee.html">Roulade
Avant
Elevée</a></li>
      <li><a href="saltoavant.html">Salto Avant</a></li>
    </ul>
  </li>
  <li>
    <a href="#">Rotation Arrière</a>
    <ul style="width: 260px; top: 152px; left: 123px;">
      <li><a href="rouladearriere.html">Roulade
Arrière</a></li>
      <li><a href="rouladearriereecart.html">Roulade
Arrière Ecart</a></li>
      <li><a href="rouladearrieretendue.html">Roulade
Arrière Tendue</a></li>
      <li><a href="rouladearrierepiquee.html">Roulade
Arrière Piquée</a></li>
      <li><a href="saltoarriere.html">Salto Arrière</a></li>
    </ul>
  </li>
  <li>
    <a href="#">Renversement</a>
    <ul style="width: 246px; top: 152px; left: 238px;">
      <li><a href="atr.html">ATR (Appui Tendue
Renversé)</a></li>
      <li><a href="roue.html">Roue</a></li>
      <li><a href="rondade.html">Rondade</a></li>
      <li><a href="placementdedos.html">Placement de
dos</a></li>
      <li><a href="sautdemain.html">Saut de main</a></li>
      <li><a href="fliparriere.html">Flip Arrière</a></li>
    </ul>
  </li>
  <li><a href="enchainement.html">Enchaînement</a>
  </li>
  <li> <a href="#">saut de cheval</a>
    <ul style="width: 246px; top: 152px; left: 468px;">
      <li><a href="sautdelune.html">Saut de Lune</a></li>
      <li><a href="sautrondade.html">Rondade</a></li>
    </ul>
  </li>
  <li><a href="#">Site
    </a>
    <ul style="width: 219px; top: 152px; left: 583px;">
      <li><a href="index.html">Introduction</a></li>
      <li><a href="explication.html">Explication</a></li>
    </ul>
  </li>
</ul>
</div>
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8

cordialement
andré
Dernière modification par dufossey le 23 avr. 2009, 20:26, modifié 1 fois.
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Re: pb d'affichage et résolution d'écran

Message par Asumbaa »

Salut,
Je n'ai rien d'ennuyeux quand je réduis la largeur de ma fenêtre. Quand se produit le décalage exactement ?
dufossey a écrit :par contre, mon menu déroulant est en position absolue par rapport à un point 0 de ma page : tant de pixel du bord gauche, du haut ....
Non, il est en position absolue par rapport à son plus proche parent positionné.
dufossey a écrit :Pourriez vous m'aider à résoudre ce problème ?
Sans doute, dès qu'on l'aura vu :wink:

Au passage : les menus déroulants en display:none, ça les rend complètement invisibles pour un lecteur d'écran. L'usage le plus accessible (les menus déroulants restant de toute façon une solution peu accessible) est de les déporter vers la gauche hors de l'écran (left: -1000px par exemple)

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.10 (intrepid) Firefox/3.0.8
bormat
Varan
Messages : 1545
Inscription : 01 juil. 2008, 18:22

Message par bormat »

il faut placer tes menu par rapport au milieu de la page

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
https://addons.mozilla.org/en-US/firefox/addon/113517 mon theme en ligne compatilble ff2et 3
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Message par Asumbaa »

bormat a écrit :il faut placer tes menu par rapport au milieu de la page

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Euh... Pourquoi ? Comment ? Et manifestement, ce n'est pas ce qu'il souhaite, donc pourquoi lui proposes-tu cela ?
dufossey
Gecko
Messages : 79
Inscription : 10 févr. 2009, 15:43

Message par dufossey »

bonjour

la page en ligne est encore réglé en pixel et il n'y a donc pas de décalage !
j'ai réduit la taille des boutons et du texte pour que le site soit visible sous un résolution 800*600 ! cependant, le texte apparait petit en résolution 1200*1024 ! si je laisse des gros boutons, le menu étant flottant, à partir d'une certaine réduction de la fenêtre, le dernier bouton passe en dessous et décale toute ma page !

je voulais basculer mes boutons de menus en % pour que la taille des boutons évoluent en fonction de la taille de la fenêtre, tout en évitant le décalage du dernier bouton sur la ligne inférieur !

en ce qui concerne le display : none ; je ne m'étais pas posé la question ! il faut que mon déroulant soit présent sur la page sans y être visible ???

je vous donne une adresse de test où mon menu est en %, mais je galère pour régler le positionnement de mon menu déroulant en fonction de la taille de la page !
http://hlanglois-27.bureauvirtuelscolai ... olaire.fr/


Code : Tout sélectionner

<div id="menu">
<ul class="navlist">
  <li><a href="#">Rotation avant</a>
    <ul style="width: 250px; top: 154px; left: 16px;">
      <li><a href="rouladeavant.html">Roulade Avant</a></li>
      <li><a href="rouladeavantecart.html">Roulade
Avant
Ecart</a></li>
      <li><a href="rouladeavanttendue.html">Roulade
Avant
Tendue</a></li>
      <li><a href="rouladeavantelevee.html">Roulade
Avant
Elevée</a></li>
      <li><a href="saltoavant.html">Salto Avant</a></li>
    </ul>
  </li>
  <li>
    <a href="#">Rotation Arrière</a>
    <ul style="width: 260px; top: 154px; left: 158px;">
asumbaa : quand je regarde le code html de ma page, il me semble que le positionnement de mon menu déroulant est placé à partir de mon bord gauche ??? (1 : left: 16px ; 2 : left: 158px)
peux tu m'expliquer ?

merci
cordialement
andré

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Message par Asumbaa »

Salut,
dufossey a écrit :bonjour

la page en ligne est encore réglé en pixel et il n'y a donc pas de décalage !
j'ai réduit la taille des boutons et du texte pour que le site soit visible sous un résolution 800*600 ! cependant, le texte apparait petit en résolution 1200*1024 ! si je laisse des gros boutons, le menu étant flottant, à partir d'une certaine réduction de la fenêtre, le dernier bouton passe en dessous et décale toute ma page !

je voulais basculer mes boutons de menus en % pour que la taille des boutons évoluent en fonction de la taille de la fenêtre, tout en évitant le décalage du dernier bouton sur la ligne inférieur !
OK ! Je n'avais pas compris que la page en ligne ne présentait pas le problème ;-)
dufossey a écrit :en ce qui concerne le display : none ; je ne m'étais pas posé la question ! il faut que mon déroulant soit présent sur la page sans y être visible ???
Ce serait mieux, en effet.
dufossey a écrit :asumbaa : quand je regarde le code html de ma page, il me semble que le positionnement de mon menu déroulant est placé à partir de mon bord gauche ??? (1 : left: 16px ; 2 : left: 158px)
peux tu m'expliquer ?
En effet, dans ton cas, c'est par rapport à la page. Ce que je voulais dire, c'est que le positionnement absolute fixe l'élément en fonction de la position de son plus proche ancêtre positionné.

Donc :
- place tes li de menu général en position: relative
- positionne tes ul déroulants en position: absolute sans spécifier le left
En principe, ils devraient suivre tes li principaux.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Portable Firefox/3.0.6
dufossey
Gecko
Messages : 79
Inscription : 10 févr. 2009, 15:43

Message par dufossey »

bonjour,
- place tes li de menu général en position: relative
- positionne tes ul déroulants en position: absolute sans spécifier le left
En principe, ils devraient suivre tes li principaux.
merci asumbaa, je vais essayer cela !
par contre, ne pas spécifier le left veut dire que je supprime le left dans mon code ?

en regardant rapidement sur la page de geckozone, quand je réduit la page en largeur le menu bleu se décale sur la ligne du dessous sans décaler le reste de la page ? c'est à dire que le menu reprend toute la largeur de la page : quelle manipulation faut-il faire pour obtenir ce résultat ?

en jetant un oeil sur le code de la page geckozone, je m'aperçois que le menu n'est pas dans un <div> mais dans un <dl> : peux tu m'expliquer ce qu'est <dl> ?

cordialement
andré

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Message par Asumbaa »

Salut,
dufossey a écrit :par contre, ne pas spécifier le left veut dire que je supprime le left dans mon code ?
Oui. Au moins dans un premier temps, voir ce que ça donne.
dufossey a écrit :en regardant rapidement sur la page de geckozone, quand je réduit la page en largeur le menu bleu se décale sur la ligne du dessous sans décaler le reste de la page ? c'est à dire que le menu reprend toute la largeur de la page : quelle manipulation faut-il faire pour obtenir ce résultat ?
Quand je réduis Geckozone en largeur, rien ne se décale à la ligne du dessous, j'ai un ascenseur horizontal qui apparaît. Donc je ne vois pas de quoi tu parles ;-)
dufossey a écrit :en jetant un oeil sur le code de la page geckozone, je m'aperçois que le menu n'est pas dans un <div> mais dans un <dl> : peux tu m'expliquer ce qu'est <dl> ?
C'est une liste de définition. Pas tellement adapté dans le cas d'un menu, mais parfois utilisé parce que la structure ressemble à un menu à deux niveaux. L'usage se fixe plutôt sur une liste non ordonnée pour les menus, donc tu es bien avec tes ul li.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Portable Firefox/3.0.6
dufossey
Gecko
Messages : 79
Inscription : 10 févr. 2009, 15:43

Message par dufossey »

bonjour,

merci asumbaa
- place tes li de menu général en position: relative
- positionne tes ul déroulants en position: absolute sans spécifier le left
En principe, ils devraient suivre tes li principaux.
en effet, cela fonctionne !
si j'ai bien compris "relative" veut dire "associé à" et la position "absolue" veut dire qu'il se place soit par rapport à des coordonnées, soit à un parent associé !

je met la nouvelle page avec les modifications en ligne : peux tu y jeter un oeil ?
http://hlanglois-27.bureauvirtuelscolai ... olaire.fr/

en regardant rapidement sur la page de geckozone, quand je réduit la page en largeur le menu bleu se décale sur la ligne du dessous sans décaler le reste de la page ? c'est à dire que le menu reprend toute la largeur de la page : quelle manipulation faut-il faire pour obtenir ce résultat ?
cet effet se produit sur la page du portail de geckozone et pas sur les autres !

encore merci
cordialement
andré



Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Message par Asumbaa »

Salut,
Je suis bien contente que tu aies réussi à obtenir ce que tu souhaitais :)
dufossey a écrit :si j'ai bien compris "relative" veut dire "associé à" et la position "absolue" veut dire qu'il se place soit par rapport à des coordonnées, soit à un parent associé !
Pas tout à fait...
le "relative" de position: relative se rapporte à la position naturelle de l'élément (position dans le flux)
Le positionnement absolu se fait toujours à l'aide de coordonnées (par défaut 0 et 0), par rapport à un élément de référence qui est toujours le plus proche parent positionné.

Lire cet excellent article (trois parties, très clair) : initiation au positionnement
dufossey a écrit :je met la nouvelle page avec les modifications en ligne : peux tu y jeter un oeil ?
Ça a l'air de fonctionner comme tu le souhaitais. Tu vas pouvoir enlever ce rouge à présent :lol:
dufossey a écrit :
en regardant rapidement sur la page de geckozone, quand je réduit la page en largeur le menu bleu se décale sur la ligne du dessous sans décaler le reste de la page ? c'est à dire que le menu reprend toute la largeur de la page : quelle manipulation faut-il faire pour obtenir ce résultat ?
cet effet se produit sur la page du portail de geckozone et pas sur les autres !
Ah oui, OK. Mais ça décale bien le reste de la page ! Sauf le menu droit qui doit être, justement, positionné en absolute.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Portable Firefox/3.0.6
dufossey
Gecko
Messages : 79
Inscription : 10 févr. 2009, 15:43

Message par dufossey »

salut

merci pour le lien ! très intéressant et très clair, je conseille !
je vais surement tout revoir vu les possibilités offertes !

:wink: le rouge va disparaître !

merci encore pour ton aide précieuse !
à bientôt surement !

André

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités