Todas las mentes viagra generico espana del mundo cialis generico espana recomiendan viagra contrareembolso prevenir problemas cialis contrareembolso

Cuando acabamos a de hacer una web, generalmente se hace con un sólo navegador (yo recomiendo Chrome), toca testear las web en los diferentes navegadores (infierno). Internet Explorer es el que suele dar más problemas pero Firefox tampoco se queda corto la verdad. Suponiendo que los IE por debajo de la versión 8 están muertos, os dejo una serie de condicionales para poder hacer hacks de los diferentes navegadores.

Normalmente se usan para cargar CSS alternativos pero también en algún que otro momento los he usado para cargar JS que no tenía que cargar en otros navegadores.

Internet Explorer

Para estructurar los condicionales de IE por debajo de 10 (no inclusive) siguen este patrón:

<!--[if IE]> Todos los IE <![endif]-->

Para poder definir la versión deberemos pornerla a continuación:

<!--[if IE 7]> Sólo IE8 <![endif]-->

Para definir una mínima versión o una máxima deberemos usar los atributos lt (less than, menor que), lte (less than or equal, menor o igual que), gt (greater than, mayor que), gte (greater or equal than, mayor o igual que):

<!--[if lt IE 8]> Sólo versiones inferiores a IE8 <![endif]-->
<!--[if lte IE 8]> Sólo IE8 y versiones inferiores <![endif]-->
<!--[if gt IE 8]> Sólo versiones superiores a IE8 <![endif]-->
<!--[if gte IE 8]> Sólo IE8 y versiones superiores <![endif]-->

También se pueden usar operadores lógico para poder hacer combinaciones, pero dudo que lo uséis algún día:

<!--[if !(IE 8)]> Sólo versiones que no sea IE8 <![endif]-->
<!--[if (IE 7) | (IE 8)]> Sólo IE7 o IE8 <![endif]-->
<!--[if (gt IE 5) & !(IE 8)]> Sólo versiones superiores a IE5 pero sin incluir IE8 <![endif]-->
<!--[if (gte IE 5) & (lt IE 8)]> Sólo versiones superiores a IE5 e inferiores a IE8 <![endif]-->

También existe la posibilidad de hacer hacks dentro del propio CSS utilizando un “*” (también se puede usar “_”). Esto sirve para versiones anteriores a IE7 por ejemplo cuando ponemos un display:inline-block;:

.elemento{
    display: inline-block;
    *display: inline;
    zoom: 1;
}

Para IE superiores a 8 la cosa cambia un poco y se empieza a parecer a los hacks para navegadores modernos:

/* IE 9 y superiores */
@media screen and (min-width:0\0) {
    .elemento{
        /* Propiedades */
    }
}
 
/* IE 10 y superiores */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .elemento{
        /* Propiedades */
    }
}
 
/* IE 11 */
_:-ms-fullscreen, :root .elemento {
    /* Propiedades */
}

Firefox

Este navegador nunca había sido un problema (para mí el principal problema es que es muy lento y pesado de carga). Pero si llegado el moemnto os encontráis con algo que hay que arreglar este es el sistema. Para firefox no existe unos comentarios condiciones como en IE sino que tenemos que cargar el CSS y dentro se hacen los hacks. Lo podéis hacer en el CSS principal pero os recomiendo que lo carguéis en otro archivo para tenerlo más organizado.

/* Firefox 2 */
html>/**/body .elemento, x:-moz-any-link {
    /* Propiedades */
}
 
/* Firefox 3 */
html>/**/body .elemento, x:-moz-any-link, x:default {
    /* Propiedades */
}
 
/* Cualquier versión de Firefox */
@-moz-document url-prefix() {
    .elemento {
        /* Propiedades */
    }
}

Safari

La mayoría d elas veces es el eterno olvidado pero hay que comprobar que todo se vea bien ya que hay muchos usuarios que usan Safari al tener un mac.

/* Safari 6 o inferior */
@media screen { 
    @media (min-width: 0px) {
        .elemento{
            /* Propiedades */
        }
    } 
}
 
/* Safari 7 o superior */
@media \\0 screen {
    .elemento{
        /* Propiedades */
    }
}

Google Chrome

Para acabar os dejo los hacks de Chrome aunque dudo que alguna vez los uséis:

@media screen and (-webkit-min-device-pixel-ratio:0) {
    .elemento {
        /* Propiedades */
    }
}
Categorías: HTML
Si necesitas una url corta puede usar: codygo.es/1564

Deja un comentario