JMiur [E]

Los comentarios condicionales son el último recurso al que podemos acceder cuando ya no encontramos ninguna alternativa para que nuestra página web se vea correctamente en cualquier navegador.

Aunque sólo funcionan en Internet Explorer, esto es más que suficiente ya que es este el navegador que más inconvenientes nos provoca.

La estructura es similar a un comentario HTML (<!-- [comentario] -->) y los navegadores, actúan en consecuencia, ignorando el contenido, sin embargo, Internet Explorer está programado para reconocer la siguiente sintaxis:
<!--[if IE]>
[instrucciones]
<![endif]-->
y procesar el contenido como si fuera una parte normal del contenido de la página.

Una limitación de estos comentarios condicionales es que sólo pueden ser incluidos dentro de un documento HTML y no dentro de una hoja de estilo CSS.

Debido a que hay múltiples versiones, las condiciones pueden ser complejas:
<!--[if IE]>
cualquier versión
<![endif]-->

<!--[if IE 5]>
Internet Explorer 5
<![endif]-->

<!--[if IE 5.0]>
Internet Explorer 5.0
<![endif]-->

<!--[if IE 5.5]>
Internet Explorer 5.5
<![endif]-->

<!--[if IE 6]>
Internet Explorer 6
<![endif]-->

<!--[if IE 7]>
Internet Explorer 7
<![endif]-->
También es posible establecer condiciones para versiones superiores o inferiores. Para ello, como no podemos utilizar los símbolos < o > , debemos reemplazarlos por sus equivalentes: (mayor que), gtlt (menor que), gte (mayor o igual que) y lte (menor o igual que):
<!--[if gte IE 5]>
Internet Explorer 5 o superior
<![endif]-->

<!--[if lt IE 6]>
Internet Explorer menor que 6
<![endif]-->

<!--[if lte IE 5.5]>
Internet Explorer menor o igual que 5.5
<![endif]-->

<!--[if gt IE 6]>
Internet Explorer mayor que 6
<![endif]-->
A decir verdad, el uso de estos hacks no está recomendado, cualquier purista del lenguaje los rechaza pero, personalmente, no dudo en usarlos si no queda otro remedio, algo que, cada vez, parece más ocurrir cada vez más seguido.

19 comentarios:

Anónimo  

Como podria poner unos de estos en mi blog hablo de esto para dejar a si de facil comentarios esatria de 10

Responder
JMiur  

El nuevo modelo de comentarios está explicado en este post y en este otro.

Responder
Anónimo  

estoy maqtand una pag en css, en IE7 s ve bien, en ff2 tambien pero en FF3 no... como puedo hacer para arreglar esto GRACIAS

Responder
JMiur  

Si no puede verse el problema online ... es imposible.

Responder
Anónimo  

Pero lo que tú dices es que lo que pongamos en [instrucciones] lo hará IE pero no lo hará otro navegador ¿no? ¿y si quiero que IE siga unas instrucciones y los otros navegadores sigan otras? ¿habría que añadir en medio algún else?

Responder
JMiur  

No, no existe tal cosa, esto es sólo aplicable a IE y con ciertas limitaciones.

Responder
Anónimo  

¿Y no existe algún IF NO IE o algo parecido?

Responder
JMiur  

No, no existe nada de eso. Sólo usando JavaScript.

Responder
Anónimo  

Gracias de todos modos

Responder
Unknown  

tengo un problema con el maldito ie.. no muestra la imagen de fondo de las entradas individuales de mi blog que estan condicionadas con lo que no muestra es body {
margin:0 25px;font-size: 11px;
font-family: Tahoma, Arial, Helvetica, sans-serif;
background: #FFFFFF url (http://www.arturogoga.com/wp-content/themes/freshnews/styles/coolblue/bgr.jpg) repeat-x top;} .. opera y firefox si lo hace.
alguna manera de solucionarlo? aqui una entrada http://nedgets.blogspot.com/2009/11/fotos-de-maria-gabriela-de-farias-isa.html

Responder
JMiur  

No veo que ocurra eso, no noto difrencias entre IE y Firefox.

Responder
Unknown  

en ie no sale esta imagen de fondo http://www.arturogoga.com/wp-content/themes/freshnews/styles/coolblue/bgr.jpg en firefox si

Responder
JMiur  

Si, lo entendí pero, veo la imagen perfectamente, tanto en IE7 como en IE8. Esta es la captura.

Responder
Joaco  

exelente, medio atrasado mi comentario... XD
Mi plantilla tiene muchos margin y eso, y resulta que todos los navegadores interpretan algo distinto u.u
Lo usaré ;)

Responder
Joan Irazu  

una condicional para Firefox :D

Responder
Adm  

I tried to redirect my visitors use IE but could not.



window.location.href = 'http://www.google.com';

<[End if] ->

Where I went wrong? or can not work it?

Responder
JMiur  

I doesn''t seems to be the whole code; maybe something like this:

<!--[if IE]>
<script>
....... the code ...
</script>
<![endif]-->

Responder
Adm  

And that the comments do not accept scripts, but the code was complete and not ta work! Take a look if possible: www.resumodasnovelas.org

Responder
JMiur  

Any kind of tags can be inserted Inside the conditional comments; if you view the code (CTRL + U) you can see several examples like the scripts that Blogger adds:

<!--[if IE]> <script> (function() { var html5 = ..................... </script> <![endif]-->

Responder

¿Quiere dejar un comentario?

recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...

Nota: sólo los miembros de este blog pueden publicar comentarios.

Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.

Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...

 
CERRAR