Algunos condicionales css que suelo usar…
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?:
-
#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?
-
#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?
-
#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:
-
#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:
-
#div {
-
margin: 0 0 10px 15px;
-
margin: 0 0 5px 15px !important;
-
}
Con el "!important" al final, se entiende que solo hablamos de Firefoxs...






