Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/11/2014, 21:41
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Dudas con efecto transition

En CSS no existe el evento click, sin embargo, podrías obtener el resultado que deseas usando radio buttons ocultos y etiquetas en lugar de botones (a los cuales podrías darles esa apariencia con CSS). En la hoja de estilos, podrías indicar que, cuando uno de los radio button esté marcado, se desplace un bloque asociado a él, produciéndose el efecto que buscas.

Un ejemplo:

Código HTML:
Ver original
  1.     <input type = "radio" name = "boton" id = "a" checked />
  2.     <label for = "a">Primero</label>
  3.     <div class = "block">BLOQUE A</div>
  4.    
  5.     <input type = "radio" name = "boton" id = "b" />
  6.     <label for = "b">Segundo</label>
  7.     <div class = "block">BLOQUE B</div>

Código CSS:
Ver original
  1. .block{
  2.     width: 100%;
  3.     height: 35rem;
  4.     margin-left: -100rem;
  5.     position: absolute;
  6.     transition: .75s;
  7. }
  8.  
  9. [type=radio]{
  10.     display: none;
  11. }
  12.  
  13. [type=radio]:checked ~ .block{
  14.     margin-left: 0;
  15. }

Tenemos dos secciones, cada una contiene a un radio button con el mismo nombre pero con identificador distinto, una etiqueta que, al ser clickeada, activará al radio button cuyo identificador se especifica en el atributo for y una división. En la hoja de estilos, le doy dimensiones a las divisiones, así como una posición absoluta, además, las coloco varios píxeles hacia la izquierda para que no sean visibles y asigno una transición de 0.75 segundos para darle un efecto de deslizamiento suave. Oculto a los radio button y, cuando marque a alguno de ellos, desplazo a la división que se encuentre a continuación hasta el margen izquierda de la ventana, haciéndose así visible.

DEMO y CÓDIGO

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 11/11/2014 a las 23:41 Razón: Corrección de la descripción.