2011-12-13 14 views
18

Quiero especificar dos colores de fondo ligeramente diferentes, uno para Mac OS y otro para Windows.¿Hay una consulta de medios CSS para detectar Windows?

+0

Consulte esta respuesta: http://stackoverflow.com/questions/2661540/detecting-the-operating-system-using-jquery-or -css Espero que ayude. – ricardordz

+0

considere usar http://rafael.adm.br/css_browser_selector/ – welldan97

+1

¿Es solo una opción de diseño o lo está haciendo para resolver algún problema? – thirtydot

Respuesta

18

no hay ninguna propiedad para especificar OS utilizado para ver la página web, pero se puede detectar con Javascript, aquí es un poco de ejemplo para la detección de 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); 

lo tiene ?, ahora se puede jugar con document.write para escribir la hoja de estilos de descarga para el sistema operativo específico. :)

otro ejemplo, asumí que estás usando 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) 
} 
0

En CSS, no es posible. A lo sumo, hay un filtro @media para que pueda orientar los dispositivos móviles v.s. dispositivos de escritorio, pero no hay filtro de tipo @os.

usted puede alcanzarlo con las etiquetas condicionales de IE:

<link rel="stylesheet" href="everyone.css" type="text/css" /> 
<!--[if IE]> 
<link rel="stylesheet" href="ie.css" type="text/css" /> 
<![endif]--> 

puso a los estilos-MAC específica en el 'todos' css, y luego modificar el que es necesario en la versión de IE.

Por supuesto, esto fallará si obtiene un usuario que está en una versión (antigua) de IE for Mac, pero debería cubrir a todos los usuarios modernos.

+4

por lo que está asumiendo que todos los usuarios de Windows usan Internet Explorer? – ptriek

+0

Microsoft seguro que le gustaría que ... –

+2

Lo siento, tengo que ser específico del sistema operativo. Los usuarios de Windows también usan otros navegadores – colmtuite

2

está disponible en la última versión de mozilla.

-moz-os-versión proporciona valores siguientes:

  • ventanas-xp
  • ventanas-vista
  • ventanas-win7
  • ventanas-Win8

soporte está limitado 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; 
    } 
} 
1

Las versiones anteriores de Firefox también podían detectar ventanas (para aquellos que no están usando autoupdate) y están usando la versión 4 o posterior. Es más básico y no dice la versión, solo el hecho de que estás en Windows. Creé este para probar hace un tiempo porque tenía curiosidad.

@media screen and (-moz-windows-theme) { 
    body { 
     background-color: white; 
    } 
} 

esto también se trata en https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries

Cuestiones relacionadas