maux menu déroulant

  • Carl
  • Beginner
  • Beginner
  • Avatar de l’utilisateur
  • Inscription: Juil 20, 2004
  • Messages: 50
  • Status: Offline

Message Mai 13th, 2010, 4:07 pm

Bonjour,

Im ayant quelques problèmes avec certains menus déroulants Im travailler. Son plus facile à un peu montrer une capture d'écran montrant ce que je veux faire et comment il affiche de façon incorrecte dans Internet Explorer et Opera. Fondamentalement, Im essayant de positionner certaines DIV cachés directement sous une barre de navigation principale. Il fonctionne comme souhaité dans Firefox, mais je me retrouve avec une barre de défilement dans Internet Explorer et Opera.

Voici quelques captures d'écran montrant ce que je veux dire. Notez que Ive volontairement laissé les menus visible ici et le style pour les sous-menus n'est pas encore fait (le film Flash géant va être refaite afin que ses petits aussi). La première image montre comment Id comme les menus / sous-menus à être positionné.
Attachments:
Menus_01.jpg

Firefox 3.6.3 (ignore orange bar from Flash movie)


Attachments:
Menus_02.jpg

IE7/8


Attachments:
Menus_03.jpg

Opera 10.53



Évidemment Im faire quelque chose de mal ici, mais Im à une perte totale. Ive regardant ce pendant un certain temps maintenant et Im Im vous manque quelque chose de simple. Mais...Dans l'intervalle, un peu d'aide serait grandement appréciée.

Heres mon CSS pertinentes et la présentation:
Code: [ Select ]
#header, #site {
  background: #FFFFFF url(images/bg_top-container.jpg) repeat-y center top;
  overflow: auto;
  width: 850px;
}

#footer {
  background: #FFFFFF url(images/bg_bottom-container.jpg) no-repeat center bottom;
  width: 850px;
  height: 41px;
}

#navbar {
  font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 12px;
  background: url(images/bg_header.jpg) no-repeat right top;
  padding-top: 0px; padding-bottom: 0px;
  margin-left: auto; margin-right: auto;
  overflow: auto;
  width: 830px; height: 154px;
  z-index: 30;
}

#menu-navbar {
  border: 1px solid #000000;
  padding: 0px;
  margin-top: 135px; margin-left: 10px;
  text-align: left;
  height: 16px;
  float: left;
}

#menu-navbar div div
{
  position: absolute;
  /*visibility: hidden;*/
  margin: 0;
  padding: 0;
}

.menu {
  font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 13px;
  display: block;
}

.menu ul {
  border: none;
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}

.menu li {
  margin: 0px;
  padding: 0px;
  float: left;
}

.menu ul li a {
  font-weight: bold; text-decoration: none; font-variant: small-caps;
  padding-left: 0.5em; padding-right: 0.5em; padding-top: 0px; padding-bottom: 0px;
  cursor: pointer;
  height: 16px;
  display: block;
}

.menu ul li a:link, .menu ul li a:visited, .menu ul li a:active {
  background: url(images/bg_menu.png) repeat-x left top;
  color: #FFFFFF;
}

.menu ul li a:hover, .menu ul li#current a {
  background: url(images/bg_menu_hover.png) repeat-x left top;
  text-decoration: none;
}

.submenu {
  font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 11px;
  display: block;
}

.submenu ul {
  border: none;
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}

.submenu li {
  margin: 0px;
  padding: 0px;
  float: left;
}

.submenu ul li a {
  font-weight: bold; text-decoration: none; font-variant: normal;
  padding-left: 0.5em; padding-right: 0.5em; padding-top: 0px; padding-bottom: 0px;
  cursor: pointer;
  height: 16px;
  position: relative;
  display: block;
}

.submenu ul li a:link, .submenu ul li a:visited, .submenu ul li a:active {
  background: url(images/bg_menu.png) repeat-x left top;
  color: #FFFFFF;
}

.submenu ul li a:hover {
  background: url(images/bg_menu_hover.png) repeat-x left top;
  text-decoration: none;
}
  1. #header, #site {
  2.   background: #FFFFFF url(images/bg_top-container.jpg) repeat-y center top;
  3.   overflow: auto;
  4.   width: 850px;
  5. }
  6. #footer {
  7.   background: #FFFFFF url(images/bg_bottom-container.jpg) no-repeat center bottom;
  8.   width: 850px;
  9.   height: 41px;
  10. }
  11. #navbar {
  12.   font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 12px;
  13.   background: url(images/bg_header.jpg) no-repeat right top;
  14.   padding-top: 0px; padding-bottom: 0px;
  15.   margin-left: auto; margin-right: auto;
  16.   overflow: auto;
  17.   width: 830px; height: 154px;
  18.   z-index: 30;
  19. }
  20. #menu-navbar {
  21.   border: 1px solid #000000;
  22.   padding: 0px;
  23.   margin-top: 135px; margin-left: 10px;
  24.   text-align: left;
  25.   height: 16px;
  26.   float: left;
  27. }
  28. #menu-navbar div div
  29. {
  30.   position: absolute;
  31.   /*visibility: hidden;*/
  32.   margin: 0;
  33.   padding: 0;
  34. }
  35. .menu {
  36.   font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 13px;
  37.   display: block;
  38. }
  39. .menu ul {
  40.   border: none;
  41.   list-style-type: none;
  42.   margin: 0px;
  43.   padding: 0px;
  44. }
  45. .menu li {
  46.   margin: 0px;
  47.   padding: 0px;
  48.   float: left;
  49. }
  50. .menu ul li a {
  51.   font-weight: bold; text-decoration: none; font-variant: small-caps;
  52.   padding-left: 0.5em; padding-right: 0.5em; padding-top: 0px; padding-bottom: 0px;
  53.   cursor: pointer;
  54.   height: 16px;
  55.   display: block;
  56. }
  57. .menu ul li a:link, .menu ul li a:visited, .menu ul li a:active {
  58.   background: url(images/bg_menu.png) repeat-x left top;
  59.   color: #FFFFFF;
  60. }
  61. .menu ul li a:hover, .menu ul li#current a {
  62.   background: url(images/bg_menu_hover.png) repeat-x left top;
  63.   text-decoration: none;
  64. }
  65. .submenu {
  66.   font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 11px;
  67.   display: block;
  68. }
  69. .submenu ul {
  70.   border: none;
  71.   list-style-type: none;
  72.   margin: 0px;
  73.   padding: 0px;
  74. }
  75. .submenu li {
  76.   margin: 0px;
  77.   padding: 0px;
  78.   float: left;
  79. }
  80. .submenu ul li a {
  81.   font-weight: bold; text-decoration: none; font-variant: normal;
  82.   padding-left: 0.5em; padding-right: 0.5em; padding-top: 0px; padding-bottom: 0px;
  83.   cursor: pointer;
  84.   height: 16px;
  85.   position: relative;
  86.   display: block;
  87. }
  88. .submenu ul li a:link, .submenu ul li a:visited, .submenu ul li a:active {
  89.   background: url(images/bg_menu.png) repeat-x left top;
  90.   color: #FFFFFF;
  91. }
  92. .submenu ul li a:hover {
  93.   background: url(images/bg_menu_hover.png) repeat-x left top;
  94.   text-decoration: none;
  95. }

Code: [ Select ]
<div id="header">
  <div id="navbar">
    <div id="menu-navbar">
      <div class="menu">
        <ul>
          <li>
            <a href="#">Menu Item 1</a>
            <div id="submenu_01" class="submenu">
              <ul>
                <li><a href="">Submenu Item 1</li>
                <li><a href="">Submenu Item 2</li>
                <li><a href="">Submenu Item 3</li>
              </ul>
            </div>
          </li>
          <li>
            <a href="#">Menu Item 2</a>
            <div id="submenu_02" class="submenu">
              <ul>
                <li><a href="">Submenu Item 1</li>
                <li><a href="">Submenu Item 2</li>
                <li><a href="">Submenu Item 3</li>
              </ul>
            </div>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>

<div id="site">
  Stuff
</div>

<div id="footer">
  More stuff
</div>
  1. <div id="header">
  2.   <div id="navbar">
  3.     <div id="menu-navbar">
  4.       <div class="menu">
  5.         <ul>
  6.           <li>
  7.             <a href="#">Menu Item 1</a>
  8.             <div id="submenu_01" class="submenu">
  9.               <ul>
  10.                 <li><a href="">Submenu Item 1</li>
  11.                 <li><a href="">Submenu Item 2</li>
  12.                 <li><a href="">Submenu Item 3</li>
  13.               </ul>
  14.             </div>
  15.           </li>
  16.           <li>
  17.             <a href="#">Menu Item 2</a>
  18.             <div id="submenu_02" class="submenu">
  19.               <ul>
  20.                 <li><a href="">Submenu Item 1</li>
  21.                 <li><a href="">Submenu Item 2</li>
  22.                 <li><a href="">Submenu Item 3</li>
  23.               </ul>
  24.             </div>
  25.           </li>
  26.         </ul>
  27.       </div>
  28.     </div>
  29.   </div>
  30. </div>
  31. <div id="site">
  32.   Stuff
  33. </div>
  34. <div id="footer">
  35.   More stuff
  36. </div>

Merci d'avance! :)
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Mai 13th, 2010, 4:07 pm

  • righteous_trespasser
  • Scuffle
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Mar 12, 2007
  • Messages: 6228
  • Loc: South-Africa
  • Status: Offline

Message Mai 14th, 2010, 6:18 am

Je fais ces tout à fait différemment de vous...Heres comment j'ai l'habitude de lutter contre celle-ci:

HTML
HTML Code: [ Select ]
<div id='menu'>
 <ul>
  <li><a href='#'>News</a>
   <ul>
    <li><a href='#'>Article One</a></li>
    <li><a href='#'>Article Two</a></li>
   </ul>
  </li>
  <li><a href='#'>Something</a></li>
 </ul>
</div>
  1. <div id='menu'>
  2.  <ul>
  3.   <li><a href='#'>News</a>
  4.    <ul>
  5.     <li><a href='#'>Article One</a></li>
  6.     <li><a href='#'>Article Two</a></li>
  7.    </ul>
  8.   </li>
  9.   <li><a href='#'>Something</a></li>
  10.  </ul>
  11. </div>


CSS
CSS Code: [ Select ]
div#menu{
width:980px;
height:20px;
}
div#menu ul li{
list-style-type:none;
height:20px;
float:left;
vertical-align:top;
margin:0px 11px 0px 0px;
position:relative;
background-color:#000000;
}
div#menu ul li a{
display:block;
font-size:9px;
color:#ffffff;
float:left;
text-decoration:none;
width:100%;
height:16px;
margin:2px 5px;
text-align:center;
}
div#menu ul li a:hover{
background-color:#343434;
}
div#menu ul li ul{
display:none;
position:absolute;
top:20px;
left:0px;
}
div#menu ul li:hover ul{
display:block;
width:120px;
background-color:#000000;
}
div#menu ul li:hover ul li{
width:111px;
background-color:#000000;
text-align:left;
}
div#menu ul li:hover ul li a{
background-color:#343434;
padding:2px 0px 0px 0px;
height:14px;
}
  1. div#menu{
  2. width:980px;
  3. height:20px;
  4. }
  5. div#menu ul li{
  6. list-style-type:none;
  7. height:20px;
  8. float:left;
  9. vertical-align:top;
  10. margin:0px 11px 0px 0px;
  11. position:relative;
  12. background-color:#000000;
  13. }
  14. div#menu ul li a{
  15. display:block;
  16. font-size:9px;
  17. color:#ffffff;
  18. float:left;
  19. text-decoration:none;
  20. width:100%;
  21. height:16px;
  22. margin:2px 5px;
  23. text-align:center;
  24. }
  25. div#menu ul li a:hover{
  26. background-color:#343434;
  27. }
  28. div#menu ul li ul{
  29. display:none;
  30. position:absolute;
  31. top:20px;
  32. left:0px;
  33. }
  34. div#menu ul li:hover ul{
  35. display:block;
  36. width:120px;
  37. background-color:#000000;
  38. }
  39. div#menu ul li:hover ul li{
  40. width:111px;
  41. background-color:#000000;
  42. text-align:left;
  43. }
  44. div#menu ul li:hover ul li a{
  45. background-color:#343434;
  46. padding:2px 0px 0px 0px;
  47. height:14px;
  48. }

J'espère vraiment que vous pouvez utiliser cette...Peut-être vous aider.
Let's leave all our *plum* where it is and go live in the jungle ...
  • Carl
  • Beginner
  • Beginner
  • Avatar de l’utilisateur
  • Inscription: Juil 20, 2004
  • Messages: 50
  • Status: Offline

Message Mai 14th, 2010, 10:49 am

Merci. Ill donner à cette méthode un essai.

La vérité, c'est ma méthode actuelle est un peu alambiquée. Ces menus ont commencé comme quelque chose de complètement différent. Fondamentalement, le menu horizontal en haut du site était à l'origine un menu vertical sur le côté gauche. Ive été dans le processus de sa mise à jour ainsi que plusieurs autres choses pour améliorer l'apparence et la disposition générale du site. Donc, je reconnais que ma méthode ne peut pas être le meilleur. Et thats probablement pourquoi moi Ive eu des problèmes.

Quoi qu'il en soit, Je vais essayer votre suggestion. :D
  • Carl
  • Beginner
  • Beginner
  • Avatar de l’utilisateur
  • Inscription: Juil 20, 2004
  • Messages: 50
  • Status: Offline

Message Mai 15th, 2010, 3:07 am

Malheureusement, la méthode ci-dessus n'a pas fonctionné. Ou plus exactement, je ne pouvais pas le faire fonctionner pour ma mise en page. ;)

Cela dit, Ive plus ou moins fixes cela. :) Tout fonctionne bien sauf dans IE7. Mais plus sur que dans un sec.

Ma solution a été de prendre le droit de navbar #en-tête et le mettre dans son propre conteneur dessous. Je suis ensuite la position de #en-tête, #site, et ce conteneur navbar nouveau rapport. Enfin j'ai mis margin-top à une valeur négative pour le faire asseoir sur le dessus de #en-tête.

Ma nouvelle mise en page:
Code: [ Select ]
<div id="header" class="center">
Header info
</div>

<div id="navbar" class="center">
  <div id="menu">
    <div class="menu">
      <ul>
        <li>
          <a href="#">Menu Item 1</a>
          <div id="submenu_01" class="submenu">
            <ul>
              <li><a href="">Submenu Item 1</li>
              <li><a href="">Submenu Item 2</li>
              <li><a href="">Submenu Item 3</li>
            </ul>
          </div>
        </li>
        <li>
          <a href="#">Menu Item 2</a>
          <div id="submenu_02" class="submenu">
              <ul>
              <li><a href="">Submenu Item 1</li>
              <li><a href="">Submenu Item 2</li>
              <li><a href="">Submenu Item 3</li>
            </ul>
          </div>
        </li>
      </ul>
    </div>
  </div>
</div>

<div id="site" class="center">
 Stuff
</div>

<div id="footer" class="center">
 More stuff
</div>

<div id="site-info" class="center">

</div>
  1. <div id="header" class="center">
  2. Header info
  3. </div>
  4. <div id="navbar" class="center">
  5.   <div id="menu">
  6.     <div class="menu">
  7.       <ul>
  8.         <li>
  9.           <a href="#">Menu Item 1</a>
  10.           <div id="submenu_01" class="submenu">
  11.             <ul>
  12.               <li><a href="">Submenu Item 1</li>
  13.               <li><a href="">Submenu Item 2</li>
  14.               <li><a href="">Submenu Item 3</li>
  15.             </ul>
  16.           </div>
  17.         </li>
  18.         <li>
  19.           <a href="#">Menu Item 2</a>
  20.           <div id="submenu_02" class="submenu">
  21.               <ul>
  22.               <li><a href="">Submenu Item 1</li>
  23.               <li><a href="">Submenu Item 2</li>
  24.               <li><a href="">Submenu Item 3</li>
  25.             </ul>
  26.           </div>
  27.         </li>
  28.       </ul>
  29.     </div>
  30.   </div>
  31. </div>
  32. <div id="site" class="center">
  33.  Stuff
  34. </div>
  35. <div id="footer" class="center">
  36.  More stuff
  37. </div>
  38. <div id="site-info" class="center">
  39. </div>


Et le CSS nouvelle correspondante:
Code: [ Select ]
div#header, div#site {
  background: #FFFFFF url(images/bg_top-container.jpg) repeat-y center top;
  overflow: auto;
}

div#header, div#site, div#footer, div#site-info {
  width: 850px;
  position: relative;
  z-index: 1;
}

div#navbar {
  position: relative;
  z-index: 2;
}

div#footer {
  background: #FFFFFF url(images/bg_bottom-container.jpg) no-repeat center bottom;
  height: 41px;
}

div#navbar, div#site-info {
  width: 830px;
}

div#menu {
  border-left: 1px solid #000000; border-right: 1px solid #000000;
  padding: 0px;
  margin-top: -18px; margin-left: 172px;
  text-align: left;
  height: 16px;
  float: left;
}

div#menu div div
{
  position: absolute;
  visibility: hidden;
  margin: 0;
  padding: 0;
  z-index: 30;
}

.menu {
  font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 13px;
  display: block;
}

.menu ul {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}

.menu li {
  margin: 0px;
  padding: 0px;
  float: left;
}

.menu ul li a {
  font-weight: bold; text-decoration: none; font-variant: small-caps;
  padding-left: 0.5em; padding-right: 0.5em; padding-top: 0px; padding-bottom: 0px;
  cursor: pointer;
  height: 16px;
  display: block;
}

.menu ul li a:link, .menu ul li a:visited, .menu ul li a:active {
  background: url(images/bg_menu.png) repeat-x left top;
  color: #FFFFFF;
}

.menu ul li a:hover, .menu ul li#current a {
  background: url(images/bg_menu_hover.png) repeat-x left top;
  text-decoration: none;
}

.submenu {
  font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 11px;
  border: 1px solid #000000;
  display: block;
}

.submenu ul {
  border: none;
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}

.submenu li {
  margin: 0px;
  padding: 0px;
  float: left;
}

.submenu ul li a {
  font-weight: bold; text-decoration: none; font-variant: normal;
  padding-left: 1.5em; padding-right: 1em; padding-top: 3px; padding-bottom: 3px;
  cursor: pointer;
  height: 16px;;
  display: block;
}

.submenu ul li a:link, .submenu ul li a:visited, .submenu ul li a:active {
  background: url(images/bg_submenu.png) repeat-x left top;
  color: #222222;
}

.submenu ul li a:hover {
  background: url(images/bg_submenu_hover.png) repeat-x left top;
  color: #e2e7eb;
  text-decoration: none;
}

.center {
  margin-left: auto; margin-right: auto;
}
  1. div#header, div#site {
  2.   background: #FFFFFF url(images/bg_top-container.jpg) repeat-y center top;
  3.   overflow: auto;
  4. }
  5. div#header, div#site, div#footer, div#site-info {
  6.   width: 850px;
  7.   position: relative;
  8.   z-index: 1;
  9. }
  10. div#navbar {
  11.   position: relative;
  12.   z-index: 2;
  13. }
  14. div#footer {
  15.   background: #FFFFFF url(images/bg_bottom-container.jpg) no-repeat center bottom;
  16.   height: 41px;
  17. }
  18. div#navbar, div#site-info {
  19.   width: 830px;
  20. }
  21. div#menu {
  22.   border-left: 1px solid #000000; border-right: 1px solid #000000;
  23.   padding: 0px;
  24.   margin-top: -18px; margin-left: 172px;
  25.   text-align: left;
  26.   height: 16px;
  27.   float: left;
  28. }
  29. div#menu div div
  30. {
  31.   position: absolute;
  32.   visibility: hidden;
  33.   margin: 0;
  34.   padding: 0;
  35.   z-index: 30;
  36. }
  37. .menu {
  38.   font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 13px;
  39.   display: block;
  40. }
  41. .menu ul {
  42.   list-style-type: none;
  43.   margin: 0px;
  44.   padding: 0px;
  45. }
  46. .menu li {
  47.   margin: 0px;
  48.   padding: 0px;
  49.   float: left;
  50. }
  51. .menu ul li a {
  52.   font-weight: bold; text-decoration: none; font-variant: small-caps;
  53.   padding-left: 0.5em; padding-right: 0.5em; padding-top: 0px; padding-bottom: 0px;
  54.   cursor: pointer;
  55.   height: 16px;
  56.   display: block;
  57. }
  58. .menu ul li a:link, .menu ul li a:visited, .menu ul li a:active {
  59.   background: url(images/bg_menu.png) repeat-x left top;
  60.   color: #FFFFFF;
  61. }
  62. .menu ul li a:hover, .menu ul li#current a {
  63.   background: url(images/bg_menu_hover.png) repeat-x left top;
  64.   text-decoration: none;
  65. }
  66. .submenu {
  67.   font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 11px;
  68.   border: 1px solid #000000;
  69.   display: block;
  70. }
  71. .submenu ul {
  72.   border: none;
  73.   list-style-type: none;
  74.   margin: 0px;
  75.   padding: 0px;
  76. }
  77. .submenu li {
  78.   margin: 0px;
  79.   padding: 0px;
  80.   float: left;
  81. }
  82. .submenu ul li a {
  83.   font-weight: bold; text-decoration: none; font-variant: normal;
  84.   padding-left: 1.5em; padding-right: 1em; padding-top: 3px; padding-bottom: 3px;
  85.   cursor: pointer;
  86.   height: 16px;;
  87.   display: block;
  88. }
  89. .submenu ul li a:link, .submenu ul li a:visited, .submenu ul li a:active {
  90.   background: url(images/bg_submenu.png) repeat-x left top;
  91.   color: #222222;
  92. }
  93. .submenu ul li a:hover {
  94.   background: url(images/bg_submenu_hover.png) repeat-x left top;
  95.   color: #e2e7eb;
  96.   text-decoration: none;
  97. }
  98. .center {
  99.   margin-left: auto; margin-right: auto;
  100. }


Ok, alors oui. Fonctionne très bien. MAIS, le problème mignons dans IE7. Son écran ignorant: bloc. Menu ul li a:
Attachments:
IE7.jpg

IE7



Quand il devrait afficher comme ceci:
Attachments:
Firefox.jpg

Firefox



Ive a essayé déclarant display: block; d'être important, Ive placé affichage redondants: les blocs dans chaque intérieur. Déclaration sous-menu, et rien ne semble prendre. Des idées?

ETA: Ok, je fixe mon problème avec IE7. Appare notly J'avais juste besoin de forcer les liens à une largeur définie. Sinon, elle ne s'applique qu'à l'attribut bloc autour du lien et de ne pas auto-expansion pour combler tout l'élément. J'aurais dû le savoir. :oops:
  • righteous_trespasser
  • Scuffle
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Mar 12, 2007
  • Messages: 6228
  • Loc: South-Africa
  • Status: Offline

Message Mai 18th, 2010, 2:03 am

Glad You Got It triés, IE est toujours une chienne.
Let's leave all our *plum* where it is and go live in the jungle ...

Afficher de l'information

  • Total des messages de ce sujet: 5 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 69 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC