Transparencia con CSS

  • 07/12/2008
  • 3:16 pm
  • unijimpe

CSS además de permitir el manejo del formato de los textos en HTML brinda métodos para enriquecer la disposición visual del contenido, entre ellas la aplicación de transparencias. Aunque el manejo de las transparencias aun no es igual en todos los navegadores por lo cual incluiremos los métodos para obtener la máxima compatibilidad.

Como utilizar los estilos
Si queremos compatibilidad con todos los navegadores, incluso con las versiones antiguas de Mozilla (Netscape Navigator) o versiones anteriores de Safari la forma sería:

  1. .alpha {
  2.     opacity: 0.5;
  3.     filter:alpha(opacity=50);
  4.     -moz-opacity:0.5;
  5.     -khtml-opacity: 0.5;
  6. }

Donde se tiene que opacity es el más importantes pues es compatible con el actual estándar de CSS, filter es utilizado para Internet Explorer, -moz-opacity para versiones antiguas de Mozilla y -khtml-opacity para versiones anteriores a Safari 1.x.

Ahora este código lo podemos resumir obviando las versiones antiguas de Mozilla y Safari, con lo cual tendríamos.

  1. .alpha {
  2.     opacity: 0.5;
  3.     filter:alpha(opacity=50);
  4. }

Ejemplo: imágenes Transparentes
Lo primero que hacemos es crear dos estilos uno para aplicar 75% y 25% de transparencia.

  1. .alpha75 {
  2.     opacity: 0.75;
  3.     filter:alpha(opacity=75);
  4. }
  5. .alpha25 {
  6.     opacity: 0.25;
  7.     filter:alpha(opacity=25);
  8. }

Ahora incluimos las imágenes y le aplicamos los estilos recién creados.

  1.     <img src="iphone.jpg" width="48" height="108" />
  2. </div>
  3. <div class="alpha75">
  4.     <img src="iphone.jpg" width="48" height="108" />
  5. </div>
  6. <div class="alpha25">
  7.     <img src="iphone.jpg" width="48" height="108" />
  8. </div>

Con lo cual obtenemos el resultado mostrado en img-alpha.html

Ejemplo: Fondo transparente
El siguiente ejemplo consiste en colocar una imágen como fondo y sobre el crear un bloque de texto que tenga transparencia.

  1. .bg {
  2.     width: 420px;
  3.     height: 284px;
  4.     background: url(imgbg.jpg);
  5. }
  6. .trans {
  7.     background-color: #FFFFFF;
  8.     opacity: 0.5;
  9.     filter:alpha(opacity=50);
  10.     margin: 16px;
  11.     width: 250px;
  12.     border: solid 2px #FFFFFF;
  13. }
  14. .trans p {
  15.     margin: 5px;
  16.     color: #000000;
  17. }

Luego creamos los elementos html y aplicamos los estilos recién creados, nótese que el estilo que tiene la transparencia es llamado .trans y los elementos dentro del mismo heredarán la transparencia.

  1. <div class="bg">
  2.     <div class="trans">
  3.         <p>Lorem ipsum dolor sit amet, consectetuer
  4.         adipiscing elit. Donec odio. Quisque volutpat
  5.         mattis eros. Nullam malesuada erat ut turpis.
  6.         Suspendisse urna nibh, viverra non, semper
  7.         suscipit, posuere a, pede.</p>
  8.     </div>
  9. </div>

Este ejemplo lo podemos ver funcionando en bg-alpha.html. Como pueden ver es sencillo de implementar y con un resultado muy vistoso.

Posts Relacionados

Total de Comentarios: 2

Publicidad
Carlos
08/12/2008
1:40 am

Me encanta tu blog, a ver cuando le das un repaso a Ajax que con lo que publicas + Ajax se podrían hacer unas webs im-presionantes

etzekiel
10/02/2009
11:52 am

Esta de lujo! pero a mi no me jalan en IE6; es raro tus ejemplos se miran bien, pero los mios no sirven… sigo intentando.

Enviar Comentario

(*)

(*)