Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js/css]problem z menu rozwijanym w gore
Forum PHP.pl > Forum > Przedszkole
qoob
wzorujac sie na http://www.alistapart.com/articles/horizdropdowns chcialem stworzyc menu rozwijane w gore. moj pomysl to obliczenie ile submenu ma pozycji, przemnozenie przez ich wysokosc i bede mial o ile musze przesunac submenu w gore. jednak FF i opera podwyzszaja mi dwa razy za wysoko niz powinno byc (IE dobrze o dziwo podnosi). ponad to miedzy FF i opera jest male przesuniecie, ktore powoduje ze jak na FF jest dobrze to opera jest o pixel zawysoko i sie nie chce otworzyc menu.

ready to roll?
Kod:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.  
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. function loadscript() {
  8. navRoot = document.getElementById("menu");
  9. for (i=0; i<navRoot.childNodes.length; i++) {
  10. node = navRoot.childNodes[i];
  11. if (node.nodeName=="LI") {
  12. node.onmouseover=function() {
  13. this.className="over";
  14. }
  15.  
  16. node.onmouseout=function() {
  17. this.className=this.className.replace("over", "");
  18. }
  19.  
  20. for (j=0; j<node.childNodes.length; j++) {
  21. if(node.childNodes[j].nodeName=='UL') {
  22. t = (node.childNodes[j].childNodes.length*13)-15; // proba oszacowania przesuniecia submenu
  23.  
  24. node.childNodes[j].style.top= '-'+t+'px';
  25. }
  26. }
  27. }
  28. }
  29. }
  30. window.onload=loadscript;
  31. ul {
  32. margin: 0;
  33. padding: 0;
  34. list-style-type: none;
  35. }
  36.  
  37. div#menubar {
  38. padding: 230px 0 30px 0;
  39.  
  40. }
  41.  
  42.  
  43. div#menubar ul {
  44. width: 100%;
  45. }
  46.  
  47. div#menubar ul li {
  48. position: relative;
  49. float: left;
  50. width: 113px;
  51. padding: 0 10px 0 10px;
  52. }
  53.  
  54.  
  55. div#menubar ul li ul {
  56. position: absolute;
  57. display: none;
  58. left: 0;
  59. }
  60.  
  61. div#menubar ul li a {
  62. display: block;
  63. background: #3C3634;
  64. text-decoration: none;
  65. color: #ED8A9E;
  66. font-style: italic;
  67. border: 1px solid #fff;
  68. }
  69.  
  70. /* Fix IE. Hide from IE Mac \*/
  71. * html div#menubar ul li { float: left; height: 1%; }
  72. * html div#menubar ul li a { height: 1%; }
  73. /* End */
  74.  
  75. div#menubar ul li a:hover {
  76. color: #fff;
  77. background: #ED8A9E;
  78. }
  79.  
  80. div#menubar li ul li a {
  81. padding: 2px 5px;
  82. }
  83.  
  84. div#menubar li:hover ul, div#menubar li.over ul {
  85. display: block;
  86. }</style>
  87. </head>
  88.  
  89.  
  90. <div id='menubar'>
  91. <ul id='menu'>
  92. <li><a href="#">historia</a></li>
  93. <li><a href="#">cos tam</a>
  94. <ul>
  95. <li><a href="#">cos nr.1</a></li>
  96. <li><a href="#">cos nr.2</a></li>
  97. </ul>
  98. </li>
  99.  
  100. <li><a href="#">produkty</a>
  101. <ul>
  102. <li><a href="#">produkt 1</a></li>
  103. <li><a href="#">produkt 2</a></li>
  104. <li><a href="#">produkt 3</a></li>
  105. <li><a href="#">produkt 4</a></li>
  106. <li><a href="#">produkt 5</a></li>
  107. <li><a href="#">produkt 6</a></li>
  108. <li><a href="#">produkt 7</a></li>
  109. <li><a href="#">produkt 8</a></li>
  110. </ul>
  111. </li>
  112.  
  113. <li><a href="#">kontakt</a></li>
  114. </ul>
  115. </div>
  116.  
  117.  
  118. </body>
  119. </html>


pozdrawiam i prosze o pomoc!
Cysiaczek
Popraw proszę tytuł topiku na zgodny z zasadami forum Przedszkole

Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.