Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2013, 08:53
edgar4615
 
Fecha de Ingreso: agosto-2010
Mensajes: 202
Antigüedad: 13 años, 8 meses
Puntos: 4
Pregunta Grupo de pestañas en la misma página

Muy buenas chicos, ante todo gracias por la ayuda que siempre me habéis prestado en las pequeñas dudas que van surgiendo.

El tema es el siguiente:

Quiero modificar un recurso de pestañas en html para poder utilizar varios tabs groups dentro de una misma página, el caso es que ya tengo "algo", pero quiero optimizarlo sin llegar a recurrir a javascript...

Este es el html del que dispongo...

Código HTML:
Ver original
  1. <div class="tabGroup">
  2.     <input type="radio" name="tabGroup1" id="rad1" class="tab1" checked="checked"/>
  3.     <label for="rad1">Tab 1</label>
  4.  
  5.     <input type="radio" name="tabGroup1" id="rad2" class="tab2"/>
  6.     <label for="rad2">Tab 2</label>
  7.      
  8.     <input type="radio" name="tabGroup1" id="rad3" class="tab3"/>
  9.     <label for="rad3">Tab 3</label>
  10.      
  11.     <br/>
  12.  
  13.     <div class="tab1">Tab 1 content</div>
  14.     <div class="tab2">Tab 2 content</div>
  15.     <div class="tab3">Tab 3 content</div>
  16. </div>
Código CSS:
Ver original
  1. /* This matchs tabs displaying to thier associated radio inputs */
  2. .tab1:checked ~ .tab1, .tab2:checked ~ .tab2, .tab3:checked ~ .tab3 {
  3.     display: block;
  4. }

Con este código, muestro que check tengo marcado...

Mi pregunta es, si tengo X grupos de tabs en la misma página ¿cómo puedo evitar el tener que llevar la "cuenta" y completar el css con "tab1:checked ~ .tab1, tabX:checked ~ .tabX...?

Me gustaria tener grupos de tabs:

Código HTML:
Ver original
  1. <div class="tabGroup">
  2.     <input type="radio" name="tabGroup1" id="rad1" class="tab1" checked="checked"/>
  3.     <label for="rad1">Tab 1</label>
  4.  
  5.     <input type="radio" name="tabGroup1" id="rad2" class="tab2"/>
  6.     <label for="rad2">Tab 2</label>
  7.      
  8.     <input type="radio" name="tabGroup1" id="rad3" class="tab3"/>
  9.     <label for="rad3">Tab 3</label>
  10.      
  11.     <br/>
  12.  
  13.     <div class="tab1">Tab 1 content</div>
  14.     <div class="tab2">Tab 2 content</div>
  15.     <div class="tab3">Tab 3 content</div>
  16. </div>
  17. <div class="tabGroup2">
  18.     <input type="radio" name="tabGroup2" id="rad1" class="tab1" checked="checked"/>
  19.     <label for="rad1">Tab 1</label>
  20.  
  21.     <input type="radio" name="tabGroup2" id="rad2" class="tab2"/>
  22.     <label for="rad2">Tab 2</label>
  23.      
  24.     <input type="radio" name="tabGroup2" id="rad3" class="tab3"/>
  25.     <label for="rad3">Tab 3</label>
  26.      
  27.     <br/>
  28.  
  29.     <div class="tab1">Tab 1 content</div>
  30.     <div class="tab2">Tab 2 content</div>
  31.     <div class="tab3">Tab 3 content</div>
  32. </div>
  33. <div class="tabGroup3">
  34.     <input type="radio" name="tabGroup3" id="rad1" class="tab1" checked="checked"/>
  35.     <label for="rad1">Tab 1</label>
  36.  
  37.     <input type="radio" name="tabGroup3" id="rad2" class="tab2"/>
  38.     <label for="rad2">Tab 2</label>
  39.      
  40.     <input type="radio" name="tabGroup3" id="rad3" class="tab3"/>
  41.     <label for="rad3">Tab 3</label>
  42.      
  43.     <br/>
  44.  
  45.     <div class="tab1">Tab 1 content</div>
  46.     <div class="tab2">Tab 2 content</div>
  47.     <div class="tab3">Tab 3 content</div>
  48. </div>

Algo así y de esta forma poder simplificar el css. Me gustaría evitar el tema de jquery y javascript...

Gracias de nuevo chicos