Tooltip animado en CSS3

0 - , - 16/05/2012 21:10:49

El siguiente ejemplo muestra cómo crear un tooltip animado con CSS3. Para la animación del tooltip se hace uso de las transiciones CSS, que ya han sido tratadas en este blog en el anterior post "CSS3 Transitions: Realizar transiciones con CSS".

HTML:

<a class="tooltip" href="#">webintenta <span>blog de desarrollo web</span></a>

CSS:

a.tooltip {
    position:relative;    
    color:#cf2c2c;
    text-decoration:none;
}

a.tooltip span {
    padding:5px 10px;
    background:#555;
    border:1px solid #555;
    min-width:140px;
    position:absolute;
    top:5px;
    left:5px;
    color:#FFF;
    text-align:center;
    opacity:0;
    -moz-transition: opacity 1s ease,top 1s ease;
    -webkit-transition: opacity 1s easetop 1s ease;
    -o-transition:opacity 1s ease,top 1s ease;
    transition: opacity 1s ease,top 1s ease;
    font-family:Georgia, "Times New Roman", Times, serif;
    font-size:13px;
    font-weight:bold;

}

a.tooltip span:before {
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #555;
    z-index:5;
    content: " ";
    position:absolute;
    top:-7px;
    left:11%;
}

a.tooltip span:after {
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #555;
    display:block;
    content: " ";
    position:absolute;
    top:-8px;
    left:11%;
}

a.tooltip:hover span {
    opacity:1;
    top:25px;
}

Ver ejemplo en funcionamiento » »

CSS3 Transitions: Realizar transiciones con CSS

2 - , - 15/05/2012 18:25:02

Las transiciones en CSS3 funcionan de un modo similar a las animaciones, así que es recomendable leer previamente nuestro anterior tutorial "CSS3 Animations. Realizar animaciones con CSS". Realizar transiciones con CSS3 nos permite incorporar una animación al cambiar de un estilo a otro. Para ello deberemos especificar:
- La propiedad CSS a la que deseamos agregar un efecto.
- La duración del efecto.

Un ejemplo sencillo es realizar una transición entre dos estados de un link. El primer estado sería el estado digamos normal y el segundo cuando pasamos el puntero del ratón sobre él. Tendríamos un link:

<a href="#">Ver ejemplo</a>

Con la siguiente definición CSS:

a {
  padding: 5px 10px;
  background: #9c3;
  }
a:hover {
  background: #333;
  }

Para realizar la transición:

a {
  padding: 5px 10px;
  background: #9c3;
  -webkit-transition-property: background;
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: background;
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: ease;
  }
a:hover {
  background: #333;
  }

Ver ejemplo en funcionamiento » »

PROPIEDADES

  • transition-property: la utilizamos para listar las propiedades que se cambiarán, separadas por comas.
  • transition-duration: En esta propiedad especificamos el número de segundos o milisegundos que dura la transición.
  • transition-timing-function: En esta propiedad podemos definir el modo en que se ejecutará nuestra animación. La curva de tiempo que se usa para calcular los diferente estados entre el inicio y el final. La opción por defecto es ease. Las otras opciones son: "linear", "ease-in", "ease-out", "ease-in-out", y "cubic-bezier".
  • transition-delay determina el tiempo que transcurrirá antes de comenzar la transición. Su valor predeterminado es cero.

Podemos acortar significativamente la declaración utilizando una versión acortada de la misma:

a {
  padding: 5px 10px;
  background: #9c3;
  -webkit-transition: background 1s ease;
  -moz-transition: background 1s ease;
  }
a:hover {
  background: #333;
  }

Las transiciones fueron desarrolladas inicialmente por los navegadores con motores WebKit (Safari y Chrome), pero en la actualidad también son soportadas por Firefox y Opera. He aquí una declaración revisada, añadiendo que el prefijo -o- para Opera, así como la propiedad real de CSS3. Esta última declaración es la que deberán ir asumiendo los navegadores en el futuro. Por ello la colocaremos en último lugar; para asegurarnos de que la implementación final triunfará sobre las demás.

a {
  padding: 5px 10px;
  background: #9c3;
  -webkit-transition: background 1 ease;
  -moz-transition: background 1 ease;
  -o-transition: background 1 ease;
  transition: background 1 ease;
  }
a:hover {
  background: #333;
  }

El siguiente ejemplo es más complejo y vamos a animar varias propiedades

.caja1{
    margin:10px;
    border:1px solid #CCC;
    /* Propiedades a animar */
    width:100px;
    height:100px;
    background-color:#FF0000;
    /* Final propiedades */
   -webkit-transition-property: width, height, background-color; 
   -webkit-transition-duration: 0.5s, 1s, 1s; 
   -webkit-transition-timing-function: ease, ease-out, ease;
   -webkit-transition-delay:0s ,0.5s, 1.5s;
   -moz-transition-property: width, height, background-color; 
   -moz-transition-duration: 0.5s, 1s, 1s; 
   -moz-transition-timing-function: ease, ease-out, ease;
   -moz-transition-delay:0s ,0.5s, 1.5s;
   -o-transition-property: width, height, background-color; 
   -o-transition-duration: 0.5s, 1s, 1s; 
   -o-transition-timing-function: ease, ease-out, ease;
   -o-transition-delay:0s ,0.5s, 1.5s;
   transition-property: width, height, background-color; 
   transition-duration: 0.5s, 1s, 1s; 
   transition-timing-function: ease, ease-out, ease;
   transition-delay:0s ,0.5s, 1.5s;
}
 
.caja1:hover{
    width:400px;
    height:200px;
    background-color:#95d2ea;
}

Ver ejemplo en funcionamiento » »

Cuya versión reducida sería:


.caja1{
    margin:10px;
    border:1px solid #CCC;
    /* Propiedades a animar */
    width:100px;
    height:100px;
    background-color:#FF0000;
    /* fin propiedades */
	-webkit-transition: width 0.5s ease 0s, height 1s ease-out 0.5s, background-color 1s ease 1.5s;
	-moz-transition: width 0.5s ease 0s, height 1s ease-out 0.5s, background-color 1s ease 1.5s;
	-o-transition: width 0.5s ease 0s, height 1s ease-out 0.5s, background-color 1s ease 1.5s;
	transition: width 0.5s ease 0s, height 1s ease-out 0.5s, background-color 1s ease 1.5s;
}
 
.caja1:hover{
    width:400px;
    height:200px;
    background-color:#95d2ea;

}

Ver ejemplo en funcionamiento » »

RGBA

2 - , , - 14/05/2012 20:04:44

RGBA es una de las múltiples maneras en que puede declarar un color en CSS. Lo que la hace especial es que también permite establecer la transparencia del color al mismo tiempo. La sintaxis para la notación de color RGBA es:

propiedad: rgba (< valor color rojo >, < valor color verde>, < valor color azul >, < valor de opacidad >);

Los valores de color serán de 0 a 255 y los valores de opacidad de 0.0 a 1.0. Todos los navegadores modernos admiten RGBA, incluyendo IE9. Para las versiones anteriores de Internet Explorer podemos utilizar un fallback, añadiendo el color de fondo en formato hexadecimal.

#sidebar {
        background-color: #ff0000; /* fallback color en hexadecimal */
        background-color: rgba(255, 0, 0, 0.3);
}

Simpliste: sencilla plantilla responsive en HTML5

1 - , - 13/05/2012 20:31:35

Interesante recurso para desarrolladores y maquetadores web. Simpliste es una plantilla HTML5 responsive. Esta plantilla hace que tu sitio responda a la resolución del navegador del cliente: el diseño por columnas se convierte en una columna para los visitantes desde tablets; los elementos de navegación se convierten en elementos de navegación más grandes para los usuarios con smartphones, etc.

Simpliste » »