Personalmente no soy muy partidaria de usar hacks en las hojas de estilo para solucionar las deficiencias de uno u otro navegador, aún así comprendo que hay circunstancias en las que se hace necesario y siempre viene bien tener el conocimiento por si llegase ese momento.
Paul Irish nos ha ahorrado mucho trabajo haciendo una recopilación de hacks que podremos emplear para los diversos navegadores disponibles. Aquí os la dejo, con los comentarios traducidos:
/***** Hacks con selectores ******/
/* IE 6 y anteriores */
* html #uno { color: red }
/* IE 7 y anteriores */
*:first-child+html #dos { color: red }
/* IE 7 y navegadores modernos */
html>body #tres { color: red }
/* Navegadores modernos (IE 7 no) */
html>/**/body #cuatro { color: red }
/* Opera 9.27 y anteriores */
html:first-child #cinco { color: red }
/* Safari */
html[xmlns*=""] body:last-child #seis { color: red }
/*safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho { color: red }
/* saf3, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
#diez { background: #FFDECE; border: 2px solid #ff0000 }
}
/***** Hacks con Atributos ******/
/* ie6 y anteriores */
#once { _color:blue }
/* ie7 y anteriores */
#doce { *color: blue } /* or #color:blue */
/* 'Navegadores Modernos' incluye IE8, estés o no de acuerdo..
*/
Paul además nos ha dejado una página de prueba con todos los hacks y un enlace a browsershots donde podréis comprobar como funcionan en los diversos navegadores.
Si te ha gustado este post no olvides suscribirte al feed para estar al tanto de las novedades
[...] Hacks CSS para todos los navegadores. [...]
Feed RSS de los comentarios de este post.
Webmaster Libre es un blog de Alma Fernández Página alojada en Redcoruna
Yo sólo suelo utilizar este, sobre todo para la pvtada de los margin-left que duplican el tamaño misteriosamente en IE6:
/* ie6 y anteriores */#once { _color:blue }
Pues yo hasta ahora habia usado
/* IE 6 y anteriores */* html #uno { color: red }
para IE 7. Creo que funciona igual…
josezpin, yo eso lo suelo solventar reseteando elementos al principio de la css y luego con cuidado y paciencia
edu, no estoy muy puesta en los hacks, como digo soy más amiga de resetear globalmente (o casi) y construir con cuidado. En las ocasiones en que algo se ha torcido mucho en IE he tirado de comentario condicional y hoja de estilo específica así que no sé si funciona sólo para ie6 o no (habrá que probar).
No sabía que reseteando los elementos ese problema DEBERIA solucionarse… yo siempre aplico un reset, seguro que algo se me escapa.
De todos modos, con IE6 no me complico más la vida, en el último momento hecho una mirada a ver como se ve, si hay alguna guarrada de margenes duplicados le meto el “_” en donde hace falta y chau, IE6 está muerto y no pierdo más tiempo en correcciones.
Es más, siguiendo a aNieto, he puesto ese aviso de “Actualice su navegador, ¡vurro!”
Lo probaré, de cualquier forma prefiero sugerir tambien que actualicen el navegador!
Opino como @josepzin,
Hace unos días decidí dar por muerto al IE 6, es que me tiene ya hasta los @#&%#@
En fin, si no es algo muy grave lo dejo estar…
Saludos!
Ha, me olvidé de decir que a veces uso algún framework CSS (Blueprint por ejemplo), con eso es seguro que el esqueleto general de la web se ve bien en EI6, pero al final, cuando ya he creando los detalles internos de la web, casi nunca se ve perfecto… ¡y paso! Ahí se queda la version “ramplona” para IE6
esta bueno el post, aki tambien encontre otros hacks que complementarian bien un buen diseño CSS para todos aquellos que no saben mucho de css http://tinyurl.com/4yf3ohm