2010-10-29 111 views
5

¿Es posible añadir un bloque de CSS que sólo quiero que se mostrará en Safari y otros navegadores no?¿Aplicar CSS solo para Safari?

+0

cheque esta http://stackoverflow.com/questions/2052218/is-there-any-equivalent-to-ie-conditional-comment-for-chrome-and-safari – patrick

Respuesta

13

He aquí un ejemplo que establece el color de la fuente de su sitio a verde si su navegador es Safari o Chrome (ambos comparten el motor de renderizado Webkit común).

@media screen and (-webkit-min-device-pixel-ratio:0) { 
    body { 
     color:green; /* on Safari and Chrome */ 
    } 
} 

Esto está tomado de otro post here

+2

Supongo que te refieres a Chrome, no a Opera. Chrome usa el motor WebKit, Opera usa su propio motor (llamado Presto). – jhurshman

+1

@jhurshman, sí lo hice, gracias (se está haciendo tarde en una :-) viernes) –

+0

@jhursh se dirige Opera 9.2 también – Knu

0

El uso de la cadena de agente de usuario, se puede comprobar para Safari y! Chrome. Ambos usan el WebKit Renderer y ambos tienen Safari en la cadena UA, pero Chrome también tiene 'Chrome'. Para ser sincero, solo verificaría Webkit y el código, porque quién sabe qué otro navegador WebKit puso en sus cadenas de UA.

Safari:

Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-HK) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5

Chrome:

Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/540.0 (KHTML, like Gecko) Ubuntu/10.10 Chrome/8.1.0.0 Safari/540.0

+0

La cadena de agente de usuario se puede suplantar muy facilmente. Este no es un enfoque confiable. – stevelove

+0

No digo que sea el mejor método, pero encontrar SAFARI ÚNICAMENTE es casi imposible, así que toma lo que puede obtener. –

+0

¿css usa el agente de uso para verificar qué navegador? – Ascherer

0

Utilice esta. Funcionará solo en Safari.

/* Only for Safari */ 
::i-block-chrome, .yourClassName { 
    border:1px solid #f00; 
} 
Cuestiones relacionadas