Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有CSS媒体查询来检测窗口?_Css_Media Queries - Fatal编程技术网

是否有CSS媒体查询来检测窗口?

是否有CSS媒体查询来检测窗口?,css,media-queries,Css,Media Queries,我想指定两种稍微不同的背景颜色,一种用于Mac OS,一种用于Windows。在CSS中,不可能。最多有一个@media过滤器,因此您可以针对移动设备和桌面设备,但没有@os类型的过滤器 您可以通过IE的条件标记实现: <link rel="stylesheet" href="everyone.css" type="text/css" /> <!--[if IE]> <link rel="stylesheet" href="ie.css" type="text/cs

我想指定两种稍微不同的背景颜色,一种用于Mac OS,一种用于Windows。

在CSS中,不可能。最多有一个
@media
过滤器,因此您可以针对移动设备和桌面设备,但没有
@os
类型的过滤器

您可以通过IE的条件标记实现:

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

将mac特定的样式放入“everyone”css,然后覆盖IE版本中需要的任何内容


当然,如果用户使用的是(古老的)Mac版IE,这将失败,但应涵盖所有现代用户。

没有属性指定用于查看网页的操作系统,但您可以使用javascript检测,以下是一些检测操作系统的示例:

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);
明白了吗?现在您可以使用
文档了。编写
来编写特定操作系统的下载样式表。:)

另一个例子,我假设您正在使用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)
}

它有最新的mozilla版本

-moz os版本提供以下值:

  • 视窗xp
  • windows vista
  • windows-win7
  • windows-win8
支持是有限的


Firefox的旧版本也可以检测windows(对于那些不使用autoupdate的用户)和使用版本4或更新的用户。它是更基本的,并没有告诉版本,只是你在windows中的事实。我创建这个是为了测试一段时间前,因为我很好奇

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

这也是在

中提到的:希望它有用。考虑使用这仅仅是一个设计选择,或者你是这样做来解决一些问题吗?请告诉我这不是处理两个OSES之间的伽玛校正差距(这实际上是在最近版本的Mac OS X中得到补救)。.-moz windows操作系统版本所以你假设所有windows用户都使用internet explorer?抱歉,必须是特定于操作系统的。Windows用户还使用其他浏览器这似乎不再受支持:
@media screen and (-moz-windows-theme) {
    body {
        background-color: white;
    }
}