Pregunta

¿Es mejor tener un archivo CSS diferente para cada agente de usuario o es mejor usar CSS Hacks que solo ciertos navegadores pueden ver?

¿Fue útil?

Solución

Ninguno.

Lo mejor es escribir código que funcione en todos los navegadores sin necesidad de código específico del navegador o hacks css. Por supuesto, no es tan fácil de lograr, por lo que muchas personas usan los otros métodos.

La clave es evitar cosas con las que algunos navegadores (muy a menudo Internet Explorer) tienen problemas. Una de esas cosas es usar relleno en lugar de margen, porque IE no maneja el colapso de margen correctamente.

Algunos métodos que están en el límite de los hacks es usar código que no afecta a los navegadores que funcionan correctamente, pero soluciona problemas para un navegador específico. Eso podría ser cosas como especificar una altura para un elemento que normalmente no debería necesitar uno, o especificar display:inline en un elemento flotante.

La página La posición lo es todo tiene ejemplos de algunos errores y correcciones sugeridas. (A menudo, la solución es algún tipo de pirateo, por lo que, por supuesto, también debe considerar si puede evitar el problema por completo).

Otros consejos

Es mejor no hacer nada.

Un buen css-reset y css que funcionan con el mismo navegador cruzado es una solución mucho mejor.

Si su diseño excluye absolutamente eso, entonces (y solo entonces) probaría hacks o comentarios condicionales de IE.

Todavía no he visto la necesidad de varios archivos css (más allá de algunas correcciones de IE6 tratadas mediante un comentario condicional).

Ni si es posible. Ahora que el viejo Netscape, IE & Lt; = 6, etc., ya no se usa tanto, trato de usar funciones que funcionan en todos esos navegadores (por ejemplo, FF & Gt; = 2, IE gt; = 7, Chrome, Opera).

Los comentarios condicionales para problemas con Internet Explorer parecen ser la norma. Combinado con un poco de JavaScript, como Dean Edward's ie7.js puede mitigar la mayoría de los problemas entre navegadores sin recurrir a piratas informáticos dentro de sus archivos CSS.

es mejor usar archivos CSS diferentes para Internet Explorer 6-7 (inclúyalos a través de comentarios condicionales ), y hacks para otros navegadores.

Una especie de seguimiento es cómo desarrollar el archivo único que funciona.

El mejor enfoque que he visto funcionar es comenzar desde cero, construyéndolo lentamente y verificando el cambio por cambio para que siga siendo compatible en todos los navegadores principales (especialmente los problemáticos).

Cuando lo haga funcionar completamente con un navegador y luego diga " hora de convertirlo " es cuando realmente comienza el dolor y donde debes comenzar a hackear.

Mi enfoque usando un Clase PHP para detectar sistema operativo, navegador y versión del navegador. Puede orientar cualquier versión de casi cualquier navegador en cualquier sistema operativo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top