Desidero specificare due colori di sfondo leggermente diversi, uno per Mac OS, uno per Windows.Esiste una query multimediale CSS per rilevare Windows?
risposta
non v'è alcuna proprietà per specificare OS utilizzato per visualizzare pagine web, ma è in grado di rilevare con javascript, ecco alcuni esempi per la rilevazione Sistema operativo:
var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
console.log('Your OS: '+OSName);
ce l'ha ?, Ora si può giocare con document.write
scrivere il foglio di stile per scaricare il sistema operativo specifico. :)
un altro esempio, presuppongo che si stia utilizzando jquery.
if (navigator.appVersion.indexOf("Win")!=-1)
{
$(body).css('background','#333');
} else {
$(body).css('background','#000'); // this will style body for other OS (Linux/Mac)
}
In CSS, non possibile. Al massimo esiste un filtro @media
che consente di scegliere come target i dispositivi mobili v.s. dispositivi desktop, ma non c'è il filtro di tipo @os
.
È possibile ottenere con i tag condizionali di IE:
<link rel="stylesheet" href="everyone.css" type="text/css" />
<!--[if IE]>
<link rel="stylesheet" href="ie.css" type="text/css" />
<![endif]-->
Mettere gli stili specifici per mac nel css 'tutti', e poi sovrascrivere tutto quello che è necessario nella versione di IE.
Ovviamente, questo non funzionerà se si ottiene un utente che utilizza un IE (antico) per la versione Mac, ma dovrebbe coprire tutti gli utenti moderni.
è disponibile nell'ultima versione di mozilla.
-moz-os-versione fornisce i seguenti valori:
- windows-xp
- windows-vista
- windows-win7
- windows-Win8
supporto è limitato https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries
@media (-moz-os-version: windows-xp), (-moz-os-version: windows-vista),
(-moz-os-version: windows-win7), (-moz-os-version: windows-win8) {
body{
background-color: white;
}
}
Le versioni precedenti di Firefox potrebbero anche rilevare Windows (per coloro che non utilizzano l'aggiornamento automatico) e utilizzano la versione 4 o successiva. È più semplice e non dice la versione, solo il fatto che tu sia in Windows. L'ho creato per testare un po 'di tempo fa, perché ero curioso.
@media screen and (-moz-windows-theme) {
body {
background-color: white;
}
}
questo è coperto anche in https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries
Fare riferimento a questa risposta: http://stackoverflow.com/questions/2661540/detecting-the-operating-system-using-jquery-or -css Spero che aiuti. – ricardordz
considera l'utilizzo di http://rafael.adm.br/css_browser_selector/ – welldan97
Questa è solo una scelta di progettazione o stai facendo questo per risolvere qualche problema? – thirtydot