Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [css] Menu rozwijane w css, działa ale problem z tuningiem
lukash82
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Witam,

Na podstawie http://www.alistapart.com/articles/dropdowns/ zrobiłem takie testowe menu rozwijane. Chciałbym je jednak nieco zmodyfikować ale pomysły mi się skończyły i nie bardzo wiem jak ten temat dalej ruszyć. Działający kod wygląda tak:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <style type="text/css">
  3. body{
  4. background : grey;}
  5. #top .menu{
  6. padding : 0;
  7. margin : 0 auto;
  8. height : 30px;
  9. width : 300px;
  10. text-align : center;
  11. background : red;}
  12. #top .menu ul{
  13. padding : 0;
  14. margin : 0 auto;
  15. list-style : none;
  16. float : none;}
  17. #top .menu li{
  18. position : relative;
  19. margin : 0;
  20. text-align : center;
  21. height : 30px;
  22. float : left;
  23. width : 100px;}
  24. #top .menu a{
  25. margin : 0;
  26. padding : 0 0 10px 0;
  27. display : block;}
  28. #top .menu a:hover{
  29. margin : 0;
  30. padding : 0 0 10px 0;
  31. background : white;
  32. display : block;}
  33. #top .menu li ul{
  34. display : none;
  35. position : absolute;
  36. top : 0;
  37. left : 0;}
  38. #top .menu li > ul {
  39. top : auto;
  40. left : auto;}
  41. #top .menu li:hover ul, li.over ul{
  42. display : block;
  43. background : green;
  44. margin : 0;}
  45. <script type="text/javascript"><!--//--><![CDATA[//><!--
  46. startList = function() {
  47. if (document.all&&document.getElementById) {
  48. navRoot = document.getElementById("nav");
  49. for (i=0; i<navRoot.childNodes.length; i++) {
  50. node = navRoot.childNodes[i];
  51. if (node.nodeName=="LI") {
  52. node.onmouseover=function() {
  53. this.className+=" over";
  54. }
  55. node.onmouseout=function() {
  56. this.className=this.className.replace(" over", "");
  57. }
  58. }
  59. }
  60. }
  61. }
  62. window.onload=startList;
  63. //--><!]]></script>
  64. </head>
  65. <div id="top">
  66. <div class="menu">
  67. <ul id="nav">
  68. <li><a href="#">menu 1</a></li>
  69. <li><a href="#">menu 2</a>
  70. <ul>
  71. <li><a href="#">podmenu 2-1</a></li>
  72. <li><a href="#">podmenu 2-2</a></li>
  73. <li><a href="#">podmenu 2-3</a></li>
  74. </ul>
  75. </li>
  76. <li><a href="#">menu 3</a></li>
  77. </ul>
  78. </div>
  79. </div>
  80. </body>
  81. </html>


I teraz jak najeżdża się na menu to tło zmienia się na białe. Następnie gdy najedziemy na któreś podmenu to wtedy ono też robi się białe jednak tło głównego menu wraca do koloru czerwonego w tym przypadku. Efekt jaki chciałbym osiągnąć to po najechaniu na podmenu, menu główne dalej pozostaje podświetlone na biało. Maci na to jakiś pomysł może?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 11:38