Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CSS][HTML]Menu jako drzewko problem
shemko
post 17.06.2015, 01:03:32
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 15.04.2012

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


Witam, mam proste drzewkowe menu na bazie samego CSS (link do strony z menu). Proszę mi powiedzieć w jaki sposób zrobić aby po kliknięciu link się pogrubiał na stałe (tj. nie tylko na zasadzie :hover jak jest obecnie) i wracał do normalnego stanu po "od kliknięciu"? Oto kod:

style css:

  1. ol.tree
  2. {
  3. padding: 0 0 0 0px;
  4. line-height:20px;
  5. }
  6. li
  7. {
  8. position: relative;
  9. margin-left: 0px;
  10. list-style: none;
  11. }
  12. li.file
  13. {
  14. margin-left: -1px !important;
  15. }
  16. li.file a
  17. {
  18. color: #000;
  19. text-decoration: none;
  20. display: block;
  21. font-size:14px;
  22. margin-left:0px;
  23. font-style: normal;
  24. }
  25.  
  26. li input
  27. {
  28. position: absolute;
  29. left: 0;
  30. margin-left: 0;
  31. opacity: 0;
  32. z-index: 2;
  33. cursor: pointer;
  34. height: 1em;
  35. width: 1em;
  36. margin-top:10px;
  37. top: 0;
  38. }
  39. li input + ol
  40. {
  41. margin: -0.938em 0 0 0px; /* 15px */
  42. height: 1em;
  43. }
  44. li input + ol > li { display: none; margin-left: 0px !important; padding-left: 1px; }
  45. li label
  46. {
  47. cursor: pointer;
  48. display: block;
  49. }
  50.  
  51. li label:hover
  52. {
  53. font-weight:bold;
  54. }
  55.  
  56. li input:checked + ol
  57. { font-style: normal;
  58. font-size:15px;
  59. margin: 10px 0px 10px 0px; /* 20px */
  60. padding: 0 0 0 0px;
  61. height: auto;
  62. }
  63. li input:checked + ol > li { display: block; margin: 0 0 0; /* 2px */}
  64. li input:checked + ol > li:last-child { margin: 0 0 0; /* 1px */ }



Kod wyświetlania menu:

  1. <ol class="tree">
  2. <li>
  3. <label for="folder2">Portfolio</label> <input type="checkbox" id="folder2" />
  4. <ol>
  5. <li>
  6. <label for="subfolder1">musicvideo</label> <input type="checkbox" id="subfolder1" />
  7. <ol>
  8. <li class="file"><a href="#" class="black">Anoice</a></li>
  9. <li class="file"><a href="#" class="black">Edyta Górniak</a></li>
  10. <li class="file"><a href="#" class="black">Ewelina Lisowska</a></li>
  11. <li class="file"><a href="#" class="black">Fox</a></li>
  12. <li class="file"><a href="#" class="black">Halina Mlynkowa</a></li>
  13. <li class="file"><a href="#" class="black">Hatbreakers</a></li>
  14. <li class="file"><a href="#" class="black">Justyna Steczkowska</a></li>
  15. <li class="file"><a href="#" class="black">Kari</a></li>
  16. <li class="file"><a href="#" class="black">K Bleax</a></li>
  17. <li class="file"><a href="#" class="black">Magda Steczkowska</a></li>
  18. <li class="file"><a href="#" class="black">Marcin Rozynek</a></li>
  19. <li class="file"><a href="#" class="black">Momo</a></li>
  20. <li class="file"><a href="#" class="black">Paulina Przybysz</a></li>
  21. <li class="file"><a href="#" class="black">Pleq</a></li>
  22. <li class="file"><a href="#" class="black">Sorry Boys</a></li>
  23. <li class="file"><a href="#" class="black">Wojciech Ezzat</a></li>
  24. </ol>
  25. </li>
  26. <li>
  27. <label for="subfolder2">live from studio</label> <input type="checkbox" id="subfolder2" />
  28. <ol>
  29. <li class="file"><a href="#" class="black">Something</a></li>
  30. </ol>
  31. </li>
  32. <li>
  33. <label for="subfolder3">show</label> <input type="checkbox" id="subfolder3" />
  34. <ol>
  35. <li class="file"><a href="#" class="black">Something</a></li>
  36. </ol>
  37. </li>
  38. <li>
  39. <label for="subfolder4">fashion film</label> <input type="checkbox" id="subfolder4" />
  40. <ol>
  41. <li class="file"><a href="#" class="black">Something</a></li>
  42. </ol>
  43. </li>
  44. <li>
  45. <label for="subfolder5">others</label> <input type="checkbox" id="subfolder5" />
  46. <ol>
  47. <li class="file"><a href="#" class="black">Something</a></li>
  48. </ol>
  49. </li>
  50. </ol>
  51. </li>
  52. </ol>


Ten post edytował shemko 17.06.2015, 01:05:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
patwoj98
post 17.06.2015, 07:00:38
Post #2





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Jeśli dobrze rozumiem pytanie to są 2 drogi:

1) za pomocą CSS

Kod
a:visited{
font-weight:bold;
}


2) Za pomocą jQuery:

Kod
  $(document).ready(function(){
    $('a').click(function(){
        $(this).css('font-weight','bold');
    });
});


Potestuj to. 1 wersja zostawia trwały ślad, kiedy druga działa tylko do czasu wyjścia użytkownika ze strony.
Go to the top of the page
+Quote Post
shemko
post 17.06.2015, 18:51:31
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 15.04.2012

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


Dzięki za pomoc smile.gif Jeszcze miałbym pytanie odnośnie powyższego kodu, czy jest możliwość ustawienia aby po kliknięciu innej podkategorii, ta wcześniej otwarta zamykała się automatycznie?

Chyba że jest jakiś ogólnodostępny skrypt (może jQuery) z "tree menu" który łatwo można by przerobić do tej formy co powyżej?

Chciałem stworzyć proste menu na zasadzie Portfolio > (rozwija) > klika podkategorii > każda podkategoria rozwija linki do podstron. Z tym że kliknięcie każdej podkategorii powoduje zamknięcie wcześniej co daje możliwość otwarcia tylko jednej podkategorii w jednym momencie.


Ten post edytował shemko 17.06.2015, 19:18:36
Go to the top of the page
+Quote Post
patwoj98
post 18.06.2015, 07:07:34
Post #4





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Wszystko się da zrobić wink.gif Trzeba tylko chcieć i pomyśleć.

http://jqueryui.com/accordion/ - możesz to spróbować przerobić. Potrzeba do tego biblioteki jQuery UI.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:44