es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Código condicional IE no funciona (usando Jade)

Estoy tratando de usar código condicional de IE en Jade, y probé lo siguiente:

mixin ie(condition)
    | <!--[!{condition}]><!-->
    block
    | <!--<![endif]-->
+ie('if !IE')
    div...

y también

mixin ie(condition)
    | <!--[!{condition}]>
    block
    | <![endif]-->
+ie('if !IE')
    div...

Quiero hacer que el código a partir de la etiqueta div sea invisible en Internet Explorer.

Pero en el primer caso, el código sigue siendo visible en Internet Explorer, y en el segundo caso se comenta por completo en todos los navegadores.

Siento que me estoy perdiendo algo, ¡por favor ayúdame!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema aquí está en la sintaxis del código condicional. El primer ejemplo utiliza una sintaxis incorrecta para los comentarios condicionales de IE, y el segundo comenta completamente el código en todos los navegadores.

    Aquí está la sintaxis correcta para los comentarios condicionales de IE:

    <!--[if !IE]><!-->
    Este contenido se ocultará en IE
    <!--<![endif]-->
    

    En Jade, puedes escribirlo así:

    mixin ie(condition)
        | <!--[if !#{condition}]><!-->
        bloque
        | <!--<![endif]-->
    

    Y luego llamar al mixin con la condición deseada:

    +ie('IE')
        div Este contenido se ocultará en IE
    

    O si quieres ocultarlo en todos los navegadores excepto IE:

    +ie('!IE')
        div Este contenido se ocultará en todos los navegadores excepto IE
    

    Recuerda que la condición debe ser escrita de acuerdo con la lógica de la declaración “if”, y no como una expresión booleana. Así que si quieres ocultar el contenido de IE, usa “if !IE” (si “no es IE”), y si quieres ocultarlo de todos los navegadores excepto IE, usa “if IE” (si “es IE”).

Comments are closed.