Tengo problemas para conseguir
<!--[if !IE]>
trabajar. Me pregunto si es porque tengo esto en mi documento
<!doctype html>
<!--[if lt IE 7]> <html class="ie6 oldie"> <![endif]-->
<!--[if IE 7]> <html class="ie7 oldie"> <![endif]-->
<!--[if IE 8]> <html class="ie8 oldie"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="">
<!--<![endif]-->
Cuando agrego
<!--[if !IE]><!-->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css" />
<!--<![endif]-->
a mi encabezado por alguna razón no funciona. Sin embargo si agrego
<!--[if !IE]><!-->
<style>
All my css in here
</style>
<!--<![endif]-->
a la página html real (en el encabezado) funciona. ¿Alguna sugerencia? Salud
Actualizar a mi pregunta
Ok, cuando
<!-->
eliminé solo verifiqué en IE, que estaba funcionando, pero ahora de vuelta en FF, el no-ie.css también se había aplicado a FF. Así que agregué nuevamente <!-->
y eliminé el / (y lo agregué a la plantilla principal para que el cms no lo agregara nuevamente) y todo está funcionando de nuevo en FF, ¡pero ahora la hoja de estilo se está aplicando a IE! Así que lo intenté
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="https://stackoverflow.com/stylesheets/no-ie.css">
<![endif]-->
y
<!--[if !IE]> -->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css">
<!-- <![endif]-->
Y eso no funcionó. Básicamente estoy tratando de hacer que esta página funcione http://css-tricks.com/examples/ResponsiveTables/responsive.php pero muevo el css a una hoja de estilo. Seguramente tiene que ser simple. ¿Qué me estoy perdiendo? Prefiero no usar JQuery si no tengo que hacerlo. Salud
fuente
<!-->
inmediatamente después del<!--[if !IE]>
Respuestas:
Nota: Estos comentarios condicionales ya no son compatibles desde IE 10 en adelante .
fuente
Los navegadores que no sean IE tratan las declaraciones condicionales como comentarios porque están encerradas dentro de las etiquetas de comentarios.
Sin embargo, cuando se dirige a un navegador que NO es IE, debe usar 2 comentarios, uno antes y otro después del código. IE ignorará el código entre ellos, mientras que otros navegadores lo tratarán como código normal. La sintaxis para apuntar a navegadores que no son IE es, por lo tanto:
Nota: Estos comentarios condicionales ya no son compatibles desde IE 10 en adelante .
fuente
<!--[if !IE]-->IE ignores this<!--[endif]-->
está oculta para IE! (7, 8 o 9)Una actualización si alguien aún llega a esta página, preguntándose por qué la segmentación por ejemplo no funciona. IE 10 y posteriores ya no admiten comentarios condicionales. Desde el sitio web oficial de MS:
Consulte aquí para obtener más detalles: http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx
Si necesita apuntar desesperadamente, es decir, puede usar este código jquery para agregar una clase ie y luego usar la clase .ie en su css para apuntar a los navegadores ie.
Actualización: $ .browser no está disponible después de jQuery 1.9. Si actualiza a jQuery por encima de 1.9 o ya lo usa, puede incluir la secuencia de comandos de migración de jQuery después de jQuery para que agregue las partes que faltan: jQuery Migrate Plugin
Alternativamente, revise este hilo para posibles soluciones: error browser.msie después de actualizar a jQuery 1.9.1
fuente
Lo uso y funciona:
fuente
La sintaxis recomendada por Microsoft para los "comentarios" condicionales revelados a nivel inferior es la siguiente:
Estos no son comentarios, pero funcionan correctamente.
fuente
En primer lugar, la sintaxis correcta es:
Pruebe esta publicación: http://www.quirksmode.org/css/condcom.html y http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
Otra cosa que puedes hacer:
Verifique el navegador con jQuery:
en este caso, puede cambiar las reglas de CSS para algunos elementos o agregar una nueva referencia de enlace CSS:
lea esto: http://rickardnilsson.net/post/2008/08/02/Applying-stylesheets-dynamically-with-jQuery.aspx
fuente
Debe poner un espacio para el
<!-- [if !IE] -->
bloque Mi css completo de la siguiente manera, ya que IE8 es terrible con las consultas de mediosfuente
!IE
técnica mencionada aquí ejecutará realmente el bloque comentado para IE 7 a 10.Para dirigirse a usuarios de IE:
Para apuntar a todos los demás:
Los comentarios condicionales solo pueden ser detectados por Internet Explorer, todos los demás navegadores los enhebran como comentarios normales.
Para apuntar a IE 6,7, etc. Debe usar "Mayor que igual" o "Menor que (igual)" en la instrucción If. Me gusta esto.
Mayor que o igual:
Menor que:
Fuente: mediacollege.com
fuente
Esto es para hasta IE9
Esto es para después de IE9
fuente
Para el navegador IE:
Para todos los navegadores que no son IE:
Para todos los IE mayores de 8 O todos los navegadores que no sean IE:
fuente
El comentario condicional es un comentario que comienza con el
<!--[if IE]>
cual no puede ser leído por ningún navegador, excepto IE.desde 2011 El comentario condicional no es compatible con el formulario IE 10 anunciado por Microsoft en ese momento https://msdn.microsoft.com/en-us/library/hh801214(v=vs.85).aspx
La única opción para usar los comentarios condicionales es solicitar a IE que ejecute su sitio como IE 9, que admite los comentarios condicionales.
puede escribir sus propios archivos css y / o js, es decir, solo y otros navegadores no lo cargarán ni lo ejecutarán.
Este fragmento de código muestra cómo hacer que IE 10 u 11 se ejecute ie-only.css y ie-only.js que contiene códigos personalizados para resolver problemas de compatibilidad de IE.
fuente
En caso de que esté trabajando con IE 10 o superior, como se menciona en http://tanalin.com/en/articles/ie-version-js/, los comentarios condicionales ya no son compatibles. Puede consultar https://gist.github.com/jasongaylord/5733469 como un método alternativo, cuya versión Trident también se verifica desde navigator.userAgent. Esto también se verificó en caso de que el navegador funcione en modo de compatibilidad.
fuente
Esto funciona para mí en todos los navegadores superiores a la versión 6 (IE7, 8, 9, 10, etc., Chrome 3 hasta lo que es ahora, y FF ver 3 hasta lo que es ahora):
fuente
Estoy usando este javascript para detectar el navegador IE
fuente
Gracias Fernando68, usé esto:
fuente
Me sale este código funciona en mi navegador:
Nota para este código: compatibilidad con HTML5 Shiv y Respond.js IE8 de elementos HTML5 y consultas de medios
fuente