Bueno, mientras trabajaba con el css de un cliente, se me ocurrio escribir este post... Muchas veces los diseñadores web nos encontramos con problemas de diversos tipos a la hora de maquetar una web por medio de css ( hay problema con los navegadores, los margenes no son los mismos, las medidas no se respetan, etc. etc. ). Tenemos distintas alternativas para eludirlos: muchos recurren a los Hacks (por medio de scripts), otros simplemente crean un nuevo css para un bronwser en especifico y otros (como yo) usamos "condicionales", condicionales? sip, o por lo menos asi los llamos yo :P
Por ejemlpo, tenemos un "margin: 0 0 10px 15px;" y en IE6 el margen se deforma y se hace un poco mas largo, ¿que podemos hacer entonces?:
CSS:
-
#div {
-
margin: 0 0 10px 15px;
-
_margin: 0 0 5px 15px;
-
}
Por medio del guión bajo ( _ ) le indicamos al css que solo nos estamos refiriendo a internet explorer 6 por lo tanto, todos los atrivutos que especifiquemos con un guion bajo adelante, nada mas seran atribuidos a IE6...
¿Que pasaria si el problema de margenes no solo esta en IE6, sino tambien en EI7?
CSS:
-
#div {
-
margin: 0 0 10px 15px;
-
*margin: 0 0 5px 15px;
-
}
Con un simple asterisco (*) por delante del atributo, el css entiende que solo nos estamos referiendo a IE6 e IE7, sip ambos navegadores.
y... ¿si el problema esta solo en IE7?
CSS:
-
#div {
-
margin: 0 0 10px 15px;
-
*margin: 0 0 5px 15px !important;
-
}
A traves del asterisco (*) al inicio y el "!important" al final, nos referimos unicamente al IE7
También podemos conbinar los condicionales si queremos atribuir distintos valores a los distintos browsers, por ejemlpo:
CSS:
-
#div {
-
margin: 0 0 10px 15px;
-
*margin: 0 0 5px 15px;
-
*margin: 0 0 7px 15px !important;
-
}
De esta forma 10px de margen inferior sera para Firefoxs, 7px sera para IE7 y 5px sera para IE6...
y por ultimo, si solo queremos modificar algun atributo solo en Firefoxs, haremos lo siguiente:
CSS:
-
#div {
-
margin: 0 0 10px 15px;
-
margin: 0 0 5px 15px !important;
-
}
Con el "!important" al final, se entiende que solo hablamos de Firefoxs...
more