domingo, 30 de mayo de 2010

Hack CSS exclusivo del IE8

Con éste hack, o truco, conseguimos que la propiedad de estilo sólo se aplique en el internet explorer 8. Ni Firefox, ni versiones inferiores de explorer detectarán las propiedades definidas de esta manera.

selector {propiedad: valor\0/;}

La clave del truco es "\0/", que se pone tras el valor de la propiedad del estilo.

Un ejemplo:

<!-- Definición del estilo en alguna parte -->

<style type="text/css">

p.textoRojoEnIE8 {color: #ff0000\0/;}

</style>

...

<!-- Código html dentro del tag body -->

<p class="textoRojoEnIE8">

El texto de éste párrafo se verá rojo, sólo en Internet Explorer 8.

</p>

<!-- O definiendo el estilo directamente en el tag. -->

<p style="color: #ff0000\0/;">

Éste párrafo también se verá en rojo, sólo en IE8.

</p>

Fuente: Internet Explorer 8 only CSS hack

7 comentarios :

  1. po zi que funciona, joe macho que bien me ha venido

    ResponderEliminar
  2. Muy bien este hack!
    El de "valor/9" y el de "/*\**/: valor\9" no me habian funcionado

    ResponderEliminar
    Respuestas
    1. Lo que se dice en la página de referencia, es que hasta entonces no se había encontrado ningún hack que funcionase con los principales navegadores, y como ejemplo particular se dice que la construcción "/*\**/: valor\9" se reconoce en Firefox 3.5, por lo que no se podía usar para definir reglas exclusivas para IE8. Así que normal que no funcione, como dices tú :)

      Eliminar
  3. Este hack funciona para IE8, pero los cambios también afectan a IE9, IE10...

    ResponderEliminar
  4. y como se maneja cuando usas pixeles, por ejemplo selector {propiedad: valor\0/px;} ó selector {propiedad: valorpx\0/;}?

    ResponderEliminar
  5. Este hack afecta a IE9 IE10 e IE11 :/ una lastima.

    ResponderEliminar

Ay payo, coméntame algo, porfa...