Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Zakladki w zakładkach
Forum PHP.pl > Forum > Po stronie przeglądarki
decha-design
Problem może i banalny, ale jakoś nie daje rady =)

Chcę zrobić zakładki w zakładkach, np.


Lecz aby te zakładki w środku miały całkowicie inny styl css od tych co są na górze (tych głównych), probowalem definiować styl dla tych zakladek lecz niestety nic nie wychodzi ... Żeby wyglądało tak:


Kod HTML...
  1. <div id="tabs" align="left">
  2. <ul>
  3. <li><a href="#fragment-1"><span>Zakładka 1</span></a></li>
  4. <li><a href="#fragment-2"><span>Zakładka 2</span></a></li>
  5. <li><a href="#fragment-3"><span>Zakładka 3</span></a></li>
  6. <li><a href="#fragment-4"><span>Zakładka 4</span></a></li>
  7. </ul>
  8. <div id="fragment-1">
  9. Zakładka 1 content
  10. </div>
  11. <div id="fragment-2">
  12. Zakładka 2 content
  13. </div>
  14. <div id="fragment-3">
  15. <span class="grey">Tekst, Tekst, Tekst ...</span> <br />
  16. <hr class="hr"><br />
  17. <div id="tabs2" align="left">
  18. <ul >
  19. <li><a href="#fragment2-1"><span>Zakładka 1</span></a></li>
  20. <li><a href="#fragment2-2"><span>Zakładka 2</span></a></li>
  21. </ul>
  22. <div id="fragment2-1">
  23. Zakładka 1 content
  24. </div>
  25. <div id="fragment2-2">
  26. Zakładka 2 content
  27. </div>
  28. </div>
  29. <div id="fragment-4">
  30. Zakładka 4 content
  31. </div>
  32. </div>


Kod jQuery ...
  1. $(document).ready(function(){
  2. $("#tabs > ul").tabs();
  3. });
  4. </script>
  5. $(document).ready(function(){
  6. $("#tabs2 > ul").tabs();
  7. });
  8. </script>


Kod CSS zakładek ...
  1. /* Caution! Ensure accessibility in print and other media types... */
  2. @media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */
  3. .ui-tabs-hide {
  4. display: none;
  5. }
  6. }
  7.  
  8. /* Hide useless elements in print layouts... */
  9. @media print {
  10. .ui-tabs-nav {
  11. display: none;
  12. }
  13. }
  14.  
  15. /* Skin */
  16. .ui-tabs-nav, .ui-tabs-panel {
  17. font-family: "Verdana", Tahoma, Arial,;
  18. font-size: 11px;
  19. }
  20. .ui-tabs-nav {
  21. list-style: none;
  22. margin: 0;
  23. padding: 0 0 0 3px;
  24. font-size: 10px;
  25. }
  26. .ui-tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */
  27. display: block;
  28. clear: both;
  29. content: " ";
  30. }
  31. .ui-tabs-nav li {
  32. float: left;
  33. margin: 0 0 0 2px;
  34. }
  35. .ui-tabs-nav a, .ui-tabs-nav a span {
  36. float: left; /* fixes dir=ltr problem and other quirks IE */
  37. padding: 0 12px;
  38. background: #5c75aa;
  39. font-size: 10px;
  40. }
  41. .ui-tabs-nav a {
  42. margin: 5px 0 0; /* position: relative makes opacity fail for disabled tab in IE */
  43. padding-left: 0;
  44. background-position: 100% 0;
  45. text-decoration: none;
  46. white-space: nowrap; /* @ IE 6 */
  47. outline: 0; /* @ Firefox, prevent dotted border after click */
  48. }
  49. .ui-tabs-nav a:link, .ui-tabs-nav a:visited {
  50. color: #fff;
  51. }
  52. .ui-tabs-nav .ui-tabs-selected a {
  53. position: relative;
  54. top: 1px;
  55. z-index: 2;
  56. margin-top: 0;
  57. background-position: 100% -23px;
  58. }
  59. .ui-tabs-nav a span {
  60. padding-top: 1px;
  61. padding-right: 0;
  62. height: 20px;
  63. background-position: 0 0;
  64. line-height: 20px;
  65. }
  66. .ui-tabs-nav .ui-tabs-selected a span {
  67. padding-top: 0;
  68. height: 27px;
  69. line-height: 27px;
  70. }
  71. .ui-tabs-nav .ui-tabs-selected a:link, .ui-tabs-nav .ui-tabs-selected a:visited,
  72. .ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */
  73. cursor: text;
  74. }
  75. .ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active,
  76. .ui-tabs-nav .ui-tabs-unselect a:hover, .ui-tabs-nav .ui-tabs-unselect a:focus, .ui-tabs-nav .ui-tabs-unselect a:active { /* @ Opera, we need to be explicit again here now... */
  77. cursor: pointer;
  78. }
  79. .ui-tabs-disabled {
  80. opacity: .4;
  81. filter: alpha(opacity=40);
  82. }
  83. .ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited {
  84. color: #000;
  85. }
  86. .ui-tabs-panel {
  87. border: 1px solid #5c75aa;
  88. padding: 10px;
  89. background: #fff; /* declare background color for container to avoid distorted fonts in IE while fading */
  90. }
  91. .ui-tabs-loading em {
  92. padding: 0 0 0 20px;
  93. background: url('images/loader_small.gif') no-repeat 0 50%;
  94. }
  95.  
  96. /* Additional IE specific bug fixes... */
  97. * html .ui-tabs-nav { /* auto clear @ IE 6 & IE 7 Quirks Mode */
  98. display: inline-block;
  99. }
  100. *:first-child+html .ui-tabs-nav { /* auto clear @ IE 7 Standards Mode - do not group selectors, otherwise IE 6 will ignore complete rule (because of the unknown + combinator)... */
  101. display: inline-block;
  102. }
  103.  
  104. /* Inside tabsl */
  105. div#tabs fieldset {
  106. border: 0px;
  107. border-top: 1px solid #5c75aa;
  108. }
  109.  
  110. div#tabs fieldset legend {
  111. padding: 5px;
  112. color: #5c75aa;
  113. font-size: 12px;
  114. }
  115.  
  116. div#tabs fieldset div {
  117. padding: 5px;
  118. padding-top: 2px;
  119. }
  120.  
  121. div#tabs fieldset td a {
  122. color: #000000;
  123. }
  124.  
  125. div#tabs fieldset td.link,
  126. div#tabs fieldset td.link a {
  127. color: #999999;
  128. font-size: 10px;
  129. }
  130.  
  131. div#tabs fieldset td hr {
  132. border: 0px;
  133. color: #EFEFEF;
  134. background: #EFEFEF;
  135. height: 1px;
  136. }


Teraz pytanie ... jak to zrobić? Bo ja już nie mam pomysłów ...

btw. jeżeli sobie nie poradzimy z tym, zrobie normalne zakładki w CSS bez użycia jQ ale wolałbym jednak wszystko mieć w jQuery ... =(
Black-Berry
Nie bardzo potrafię się wczytac w kod ale musi się dac bo css-y działają kaskadowo.

Jeśli masz np element li będący w menu to jego styl mzesz zmienić tak:

  1. menu li{color:red}


Jesli masz menu wewnątrz menu to zmieniasz wewnętrzny w ten sposób:

  1. menu li menu li{color:blue;}


Przeanalizuj dokładni kod HTML Przydac się może FF WebDeveloper - on pokazuje dokładną 'kaskadę' elementu.
decha-design
Niestety nic z tego, bo jQuery zmienia styl css każdego elementu na swój ... czyli jak ja dam np.
  1. <ul class="xxx">

To i tak nic z tego nie będzie, ponieważ jQUery użyje .ui-tabs-nav a ... itd.

dobra, poradziłem ... wystarczy objąć ten kod w osobnego diva ... i dopisac do css przed tym div.costam i trybi ...
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.