2010-10-29 73 views
5

E 'possibile aggiungere un blocco di css che voglio solo visualizzare in Safari e nessun altro browser?Applicare CSS solo per Safari?

+0

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

risposta

13

Ecco un esempio che sarebbe impostare il colore del carattere del vostro sito al verde se il browser è Safari o Chrome (entrambi condividono il motore di rendering Webkit comune).

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

questo è preso da un altro post here

+2

Suppongo che intendessi Chrome, non Opera. Chrome utilizza il motore WebKit, Opera utilizza il proprio motore (chiamato Presto). – jhurshman

+1

@jhurshman, sì, sì, grazie (si sta facendo tardi il venerdì :-)) –

+0

@jhursh è indirizzato anche a Opera 9.2 – Knu

0

Utilizzando la stringa UserAgent, è possibile verificare Safari e! Chrome. Entrambi utilizzano WebKit Renderer ed entrambi hanno Safari nella stringa UA, ma Chrome ha anche "Chrome". Per essere onesti, controllerei solo Webkit e codice perché chissà che altro browser WebKit ha messo nelle loro stringhe 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 stringa UserAgent può essere falsificato molto facilmente. Questo non è un approccio affidabile. – stevelove

+0

Non sto dicendo che sia il metodo migliore, ma trovare SOLO SAFARI è quasi impossibile, quindi prendi ciò che puoi ottenere. –

+0

css usa l'useragent per verificare quale browser? – Ascherer

0

Utilizzare questo. Funzionerà solo in Safari.

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