2011-01-01 25 views
7

estoy teniendo problemas con CSS en Firefox, por lo tanto, quiero importar un archivo css sólo si el navegador es FFdeclaración condicional CSS para Firefox

En realidad, necesito para importar este estilos:

.searchbutton{ 
    position:absolute; right:3px; width:25px; 
    top:3px; 
} 

#buscarmain{ bottom:12px; 

} 

EDITAR:

Muchos han argumentado que no debería usar una declaración especial para FF, ya que es probable que FF sea correcto, en comparación con otros navegadores.

Sin embargo, en este caso todos los navegadores imprimen la misma página (IE, Chrome, Opera, Safari) y FF lo muestra de otra manera. Debo lograr la misma visualización para todos los navegadores, por lo tanto, necesito una instrucción FF especial

+6

Problemas con Firefox u otros navegadores únicos, también? Si está comparando con IE, su marcado está equivocado. Hay una razón por la cual los comentarios condicionales solo son necesarios en IE. – Rob

+0

Tengo algo que se ve bien en IE, Safari, Chrome, pero no en Firefox. No me importa si mi marcado está "mal", como si existiera tal cosa en una estructura que no sea xml. Solo quiero saber cómo aplicar un estilo solo a Firefox. Supongo que el que pregunta también. – MrBoJangles

Respuesta

8

resuelto el problema

se agregó:

<script type="text/javascript"> 
    if ($.browser.mozilla == true) { 
     document.write("<link type=\"text/css\" rel=\"stylesheet\" href=\"FF.css\">"); 
    } 
</script> 
+0

Te das cuenta de que es altamente improbable que Firefox tenga un "error" mientras que otros navegadores no lo hacen, ¿verdad? Como ya se dijo, por favor revisa tu marcado y CSS nuevamente, y asegúrate de que no estás comparando Firefox con IE solo – pwseo

+3

Gente de la tierra, deja de canonizar a Firefox (que es mi navegador de elección por cierto), los zapatos de payaso no son una declaración de moda. Firefox tiene errores como los productos de Apple y cualquier otra cosa. – MrBoJangles

+0

Dan, esta es una buena pregunta y una buena respuesta. No sé qué está mal con la gente – MrBoJangles

1

IE es el único navegador con comentarios condicionales. Siempre he pensado que cada navegador debería tener el suyo propio, pero por desgracia.

Creo que la solución es modificar tu hoja de estilos para que se muestre correctamente en Firefox y luego arreglar para IE.

Una solución áspera y muy sucia sería usar JavaScript para detectar el navegador y agregar una clase como "ffonly" a la etiqueta del cuerpo si el navegador es Firefox. A continuación, siempre traen en su hoja de estilo Firefox, pero poner ".ffonly" en el comienzo de todas sus reglas de estilo

+0

Cuando alguien necesita CSS específico del navegador, siempre cuestiono sus habilidades. IE es el único navegador que necesita tales cosas. – Rob

+1

Tengo que estar en desacuerdo. Varios navegadores tienen sus propios prefijos CSS y manejan varias cosas a su manera, gradientes CSS, rotaciones 2D, etc. Sé que Firefox es el único navegador que leería una regla prefijada -moz-, pero de alguna manera creo que sería más elegante para solo servir tales reglas a Firefox. Por supuesto, comenzaría a llenarse de hacks perezosos y declaraciones importantes, por lo que tal vez la falta de comentarios condicionales no IE sea algo bueno. Para el registro: tienes razón, un buen codificador no los necesitará. –

+0

Está hablando de prefijos de proveedor que forman parte de las especificaciones W3C y permiten a los navegadores implementar características específicas para ellos. Normalmente esto es para propiedades no estándar o propiedades inestables donde el estándar aún no se ha finalizado. Los comentarios condicionales en sí mismos no son estándar, razón por la cual solo funcionan en IE. – Rob

12

Usted puede tratar de la css browser selector

+0

¡increíble! Gracias. –

+0

El enlace original está caído, ¿puedes intentar actualizar la respuesta? (Sé que es 3 años) –

12

Así es como podemos enfocar estilos CSS solo para Firefox:

<style type="text/css"> 
@-moz-document url-prefix() { 
    h1 { 
     color: red; 
    } 
} 
</style> 

Fuente: Targeting only Firefox with CSS

Cuestiones relacionadas