Tag Archives: crossbrowser

Sombras CSS en múltiples navegadores

Un problema muy simple con una solución complicada, mayormente porque IE ignora la propiedad box-shadow de CSS3. En vez de eso progid:DXImageTransform.Microsoft.Shadow está logrando el truco y un equivalente puede ser hallado.

box-shadow: 4px 4px 8px #000;

para la sombra blanca es similar a

progid:DXImageTransform.Microsoft.Shadow(color=#000000,direction=90,strength=8)

porque box-shadow tiene los parámetros;

  • horizontal-offset
  • vertical-offset
  • blur-radius
  • color

y progid:DXImageTransform.Microsoft.Shadow:

  • color
  • direction (90 de la parte inferior derecha, también puede ser 0,45,135,225,270 y 315)
  • strength (la distancia, en píxeles en que se extiende el efecto del filtro, parecido a la combinación de 4px 4px en el box-shadow)

Lo que no tiene es un radio de desenfoque, aunque progid:DXImageTransform.Microsoft.Blur existe, desenfocará el contenido de la casilla también haciendo el texto ilegible.

Las esquinas

El resultado es bastante similar, con algunas diferencias en cómo IE muestra las esquinas. Tal como puede ver en la esquina superior derecha y la inferior derecha son un desastre (la inferior izquierda no se ve muy bien tampoco), pero demos gracias por que existen.

crossbrowser dropshadows in mozilla and internet explorer

Pueden ver el demo si quieren usar otros navegadores.

El código CSS

El código CSS completo para todos los navegadores es:

.black-shadow{ -moz-box-shadow: 4px 4px 8px #000;-webkit-box-shadow: 4px 4px 8px #000;box-shadow: 4px 4px 8px #000;
filter:
        progid:DXImageTransform.Microsoft.Shadow
(color=#000000,direction=90,strength=8)
        progid:DXImageTransform.Microsoft.Shadow
(color=#000000,direction=180,strength=8)}