是否有CSS媒体查询来检测窗口?
我想指定两种稍微不同的背景颜色,一种用于Mac OS,一种用于Windows。在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
@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;
}
}