Ver Mensaje Individual
  #7 (permalink)  
Antiguo 18/10/2011, 15:41
kseso?
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 10 meses
Puntos: 539
Respuesta: persistencia para que no se cierre menu desplegable al seleccionar un inpu

Como curiosidad ahí va lo siguiente:
Opciones persistentes sólo con css. Nada de javascript, y mucho menos librerías.
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <meta charset="UTF-8">
  3. <title>Kseso? jugando con css</title>
  4. <style type="text/css">
  5. .tabs {
  6.   position: relative;
  7.   min-height: 200px;
  8.   width: 400px;
  9.   clear: both;
  10.   margin: 25px 0;
  11. }
  12. .tab {
  13.   float: left;
  14. }
  15. .tab label {
  16.   background: #eee;
  17.   padding: 10px;
  18.   border: 1px solid #ccc;
  19.   margin-left: -1px;
  20.   position: relative;
  21.   left: 1px;
  22. }
  23. .tab [type=radio] {
  24.   display: none;
  25. }
  26. .content {
  27.   position: absolute;
  28.   top: 28px;
  29.   left: 0;
  30.   background: white;
  31.   right: 0;
  32.   bottom: 0;
  33.   padding: 20px;
  34.   border: 1px solid #ccc;
  35.   overflow: hidden;
  36.   opacity: 0;
  37.   -webkit-transition-duration: 2s;
  38.     -moz-transition-duration: 2s;
  39.     -o-transition-duration: 2s;
  40. }
  41. .content > * {
  42.   position: relative;
  43.   top: 400px;
  44.   left: 0;
  45.   -webkit-transition-duration: 1s;
  46.     -moz-transition-duration: 1s;
  47.     -o-transition-duration: 1s;  
  48. }
  49. [type=radio]:checked ~ label {
  50.   background: white;
  51.   border-bottom: 1px solid white;
  52.   z-index: 2;
  53. }
  54. [type=radio]:checked ~ label ~ .content {
  55.   z-index: 1;
  56.   top: 28px;
  57.   left: 0;
  58.   opacity: 1;
  59.   -webkit-transition-duration: 2s;
  60.     -moz-transition-duration: 2s;
  61.     -o-transition-duration: 2s;
  62. }
  63. [type=radio]:checked ~ label ~ .content > * {
  64.   top: 0;
  65.   left: 0;
  66.   opacity: 1;
  67.   -webkit-transition-duration: 1s;
  68.     -moz-transition-duration: 1s;
  69.     -o-transition-duration: 1s;
  70.  
  71. }
  72. </style>    
  73. </head>
  74. <div class="tabs">
  75.  
  76.    <div class="tab">
  77.        <input type="radio" id="tab-1" name="tab-group-1" checked>
  78.        <label for="tab-1">Opción 1</label>
  79.  
  80.        <div class="content">
  81.            <ul>
  82.                 <li><a href="#">El Blog</a></li>
  83.                 <li><a href="blog/stats.php">Estadísticas</a></li>
  84.                 <li><a href="#">Artículos</a></li>
  85.             </ul>
  86.        </div>
  87.    </div>
  88.  
  89.    <div class="tab">
  90.        <input type="radio" id="tab-2" name="tab-group-1">
  91.        <label for="tab-2">2 Opción</label>
  92.  
  93.        <div class="content">
  94.            <ul>
  95.                 <li><a href="#">Contactar</a></li>
  96.                 <li><a href="#">El Autor</a></li>
  97.                 <li><a href="#">Términos de Uso</a></li>
  98.             </ul>
  99.        </div>
  100.    </div>
  101.  
  102.     <div class="tab">
  103.        <input type="radio" id="tab-3" name="tab-group-1">
  104.        <label for="tab-3">Tercera Op.</label>
  105.  
  106.        <div class="content">
  107.            <ul>
  108.                 <li><a href="#">En Twitter</a></li>
  109.                 <li><a href="#">Gacetilla CSS</a></li>
  110.             </ul>
  111.        </div>
  112.    </div>
  113.  
  114.     <div class="tab">
  115.        <input type="radio" id="tab-4" name="tab-group-1">
  116.        <label for="tab-4">Más Opciones</label>
  117.  
  118.        <div class="content">
  119.            <p>Cualquier tipo de contenidos. No sólamente listas.</p>
  120.            <p>Funcional en Safari 5.1+, Chrome 13+, Firefox 3.6+, Opera 10+, and IE 9+</p>
  121.            <p>Créditos: en base a idea original de Chris Coyier en css-tricks.com</p>
  122.        </div>
  123.    </div>
  124.  
  125. </div>
  126. </body>
  127. </html>

Nota: los efectos sobre opacity y position sólo verificados en chrome y ff