2012-09-06 15 views
9

¿Hay un truco para atacar IE9 solamente? Estoy enfrentando un problema solo en IE9, otros navegadores funcionan bien. Estoy usando \9, pero también está afectando a IE8.Necesita hackear para ie9 solo

No quiero usar comentarios condicionales.

+3

Los comentarios condicionales pueden ser su único amigo aquí. – Kyle

+0

No hay otra manera ?? No quiero usar la condición comentario – supersaiyan

+1

duplicado posible de [Objetivo IE9 o IE8 pero no tanto el uso de CSS] [1] [1]: http://stackoverflow.com/questions/5852681/target-ie9 -o-ie8-pero-no-ambos-usando-css –

Respuesta

21

Puede utilizar este :root #element { color:pink \0/IE9; } /* IE9 + IE10pp4 */

+0

este tipo.Gracias a una tonelada – supersaiyan

+3

desafortunadamente el estilo anterior también se activa en Firefox y Chrome, encontré una mejor solución aquí: http://mynthon.net/howto/-/webdev/CSS-big-list-of-css-hacks.txt – nerdess

5

Hay otra manera!

:root #div { background: #fff \0/IE9; } /* IE9 */ 

con el selector de pseudo :root. Esto funciona porque la parte @media all and (min-width:0) se ha eliminado a favor de este método en IE9.

Tenga en cuenta que este no es un método seguro ya que no funciona en todos los selectores. Lo mejor es usar comentarios condicionales, es la manera más segura, fácil y mejor de apuntar a diferentes versiones de Internet Explorer, excepto IE10, que ha dejado de admitir comentarios condicionales.

+0

También se dirige a IE10. – user712092

13

Se me ocurrió una consulta de medios que hace esto también. Especifica solo IE9.

@media all and (min-width:0\0) and (min-resolution:.001dpcm) 
{ 
    #div { color:red; } 
} 

Otros que he trabajado a cabo, incluyendo una consulta de MSIE 9+ medios de comunicación son en mi página de GitHub: https://github.com/jeffclayton/css_hack_testing - la mayor parte de esto lo he enviado a browserhacks.com para su inclusión.

2017 ACTUALIZACIÓN: Para ver su funcionamiento, he creado una página de prueba en vivo aquí por esta y muchas otras en las que trabajé http://browserstrangeness.bitbucket.io/css_hacks.html y el espejo: http://browserstrangeness.github.io/css_hacks.html

Por favor, tenga en cuenta que es min-width: 0 \ 0 (zero-backslash-zero) cuando copia el código en su propio sitio. No debe confundirse con min-width: 0 (solo un cero) que no funciona para diferenciar IE9 de otros navegadores.

+0

Esto fue lo único que funcionó para mí. Afectó solo al navegador ie9 y facilitó la selección de selectores múltiples fácilmente. No pude hacer que se compilara desde lesscss, pero está bien :) –

+0

Me alegro de que podría ayudar, y tiene razón, debe usar el truco como -es decir, no filtrar ni compilar porque es un código no estándar (por lo que funciona). El zero-slash-zero no está permitido por muchos navegadores o compiladores. –

+0

¡este es el truco más genial de todos! funciona con el fondo y no afecta ie10 y posterior. ¡gracias! – Iggy

0

En mi IE9 EMULATOR ninguna de las soluciones enumeradas funcionó. El único truco que adecuadamente nos permitió cambiar el tamaño, por ejemplo, una casilla de verificación en IE9 fue:

/* IE9 */ 
:root input#my-checkbox { 
    width:20px !important \ ; 
    height:20px !important \ ; 
    box-sizing:content-box !important \ ; 
} 

I no sé si esto también afecta a Internet Explorer 8 o IE10 etc pero tenemos condicionales entrega los separado de todos modos.

Esperemos que esto ayude a alguien.