有一个办法由您使用的浏览器,一点点演绎推理的性质做一些这方面,和一些技巧...不是一切都会做,但也有一些可以使用的OS只针对CSS。 脚本提供,当然更多的选择。 如下文中指出这反映了约6个月的研究和工作,对我而言的准确性。
在这个时候,我不知道的方式与Chrome浏览器做到这一点,我没有看过成歌剧,尤其是现在,它使用许多相同的方法,适用于Chrome。 Chrome浏览器未发布一个版本的Mac直到第3版也为苹果,谷歌发表声明称OS X 10.6-10.8将不被支持后的Chrome 49因此Chrome 50和更新将显示的Mac OS X 10.9(小牛)或新。
火狐,IE和Safari有更好的选择,虽然。
火狐4和新的可检测到正在使用的Windows主题,所以即使火狐的旧版本至少会检测你是否为或者不使用Windows。 我创造了这个一会儿回来,今天又测试了这一点:
@media screen and (-moz-windows-theme) {
.windows {
color:red;
}
}
出于同样的原因,这一个适用于任何东西,但Windows中,再次为Firefox 4及更高版本:
@media not screen and (-moz-windows-theme) {
_:-moz-ui-valid, .nonwindows {
color:red;
}
}
在Firefox 25媒体查询添加-moz-OS版本,但只有几个选项根据来自Mozilla的文档https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries
操作系统的方式:windows-XP | Windows的Vista的| Windows的WIN7 | Windows的win8的| 窗户-win10
这套因此,只有在现代Firefox浏览器版本> = 25,工作在此张贴更新时,Firefox是35版本。
@media screen and (-moz-os-version:windows-xp) {
.windows,.winxp {
color:red;
}
}
@media screen and (-moz-os-version:windows-vista) {
.windows,.vista {
color:red;
}
}
@media screen and (-moz-os-version:windows-win7) {
.windows,.win7 {
color:red;
}
}
@media screen and (-moz-os-version:windows-win8) {
.windows,.win8 {
color:red;
}
}
@media screen and (-moz-os-version:windows-win10) {
.windows,.win10 {
color:red;
}
}
微软的浏览器边缘(原斯巴达)就是在这个时候只能在Windows 10检测到它:
/* Microsoft Edge Browser */
@supports (-ms-ime-align:auto) {
.windows,.win10 {
color:red;
}
}
注意:以前-MS-加速器:真正的方法得到了新版本中改变,让一个可用于目标边缘的特定版本,但不是所有的人。 -MS-IME对齐:自动适用于所有的人仍然在2017年。
也有方法来检测Macintosh计算机为好。
火狐> = 24引入了新的滚动条覆盖方法对OS X 10.7狮子和较新的,其与媒体查询检测:
@media screen and (-moz-overlay-scrollbars) {
.mac,.mac10_7up {
color:red;
}
}
火狐> = 25也有一个方法来检测的Mac OS X,因为它们增加了在25版的OS X字体平滑支持:
@supports (-moz-osx-font-smoothing:auto) {
.mac,.mac10_6up {
color:red;
}
}
因为@media查询和@supports过滤器可以在彼此嵌套,以下现在是可能的 - 为了目标JUST OS X 10.6雪豹与Firefox 24和较新的:
@supports (-moz-osx-font-smoothing:auto) {
@media not all and (-moz-overlay-scrollbars) {
.mac,.mac10_6 {
color:red;
}
}
}
火狐17岁以上仅支持Mac OS X 10.6+(雪豹和更新的),所以如果你有任何的上述OS X CSS规则的结果,您不使用OS X 10.5或以上。 ( https://en.wikipedia.org/wiki/History_of_Firefox#Version_17_.28ESR.29 )
相反,再次在Firefox 25+就可以否定OS X(10.6和更新版本) - 自10.5及以上不支持这个版本的Firefox,就意味着这个人是不是苹果在所有:
@supports (-moz-appearance:none) and (background-attachment:local)
and (not (-moz-osx-font-smoothing:auto)) {
.nonmac {
color:red;
}
}
火狐49中,火狐不再支持Mac OS X版本之前10.9,所以如果你有版本48或更少它必须是OS X 10.8版或以上,或者如果你有17-48之间的版本必须是OS X 10.6-10.8通过同样的道理。
的iOS(iPad和iPhone)没有一个版本的Firefox时,我写了这个,所以火狐OS X字体平滑确实只包括Mac电脑只,而不是苹果公司在这个时候移动设备。 像iOS版Chrome,火狐iOS版会使用Safari的引擎,因此在使用iPad和iPhone Safari的黑客。 因此,他们都是靶向 - 如Safari,但暗地里,他们说不是他们的引擎盖下。
通过在一次否定两个,我们有办法的目标还剩下什么:安卓/ Linux上,再次与Firefox 25及更高版本:
@supports (-moz-appearance:none) and (background-attachment:local)
and (not (-moz-osx-font-smoothing:auto)) {
@media not screen and (-moz-os-version) {
.lindroid {
color:red;
}
}
}
如果您正在使用Internet Explorer 6或更高版本(Windows XP和更新版本)版本,那么你显然使用的是Windows不管。 这可以在一个以上的方式,以及确定。
在Windows中,直到Internet Explorer 9的存在条件的意见,所以那些可以用来收集更多的信息:
这只能检测到有窗户,但不一定是因为版本的Internet Explorer 6-9只在Windows平台上存在。 这时,Internet Explorer中11是当前版本,因此这不检测10和11,但9之前:
<!--[if (gte IE 6)&(lte IE 9)]><style type="text/css">
.windows {
color:red;
}
</style><![endif]-->
Internet Explorer 6中只存在于Windows XP或较老版本Windows的今天已不再使用,所以这个工程的一个:
<!--[if (IE 6)]><style type="text/css">
.windows,.winxp {
color:red;
}
</style><![endif]-->
Internet Explorer 7的Windows XP中存在的Vista中,当你在Internet Explorer中单击兼容模式选择8或更高版本但是也常常效仿。
这一个工作,如果你正在使用Internet Explorer 10或更高版本,让你有Windows 7或8。
@media screen and (-ms-high-contrast:active), (-ms-high-contrast:none) {
.windows {
color:red;
}
}
我的一个创作的,我个人制作的检测的Internet Explorer 11或更高版本,这是适用于Windows 7和更新,高达8.1。
_:-ms-fullscreen, :root .windows {
color:red;
}
如果你不想使用Internet Explorer条件注释,但宁可媒体查询,这些确实存在:
要检测的Internet Explorer 6-7(因此Windows XP和最多的Windows 7以上)这工作:
@media screen\9
{
.windows {
color:red;
}
}
这一次我的Internet Explorer 9中创建因为没有存在过。 (以便赢得7或赢远景)
@media screen and (min-width:0\0) and (min-resolution:.001dpcm)
{
.windows {
color:red;
}
}
这种检测的Internet Explorer 8(因此与Windows XP的Windows 7)
@media \0screen
{
.windows {
color:red;
}
}
我制作的各种其他部分该媒体查询在过去的一年中,它处理的Safari 6.1及更高版本。 Safari是在此张贴的时间为7版本。 Mac和移动设备,例如基Android浏览器,将在这种方式来检测:
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-color-index:0)
{
.mac_or_mobile {(;
color:red;
);}
}
这里是一个更好的方法来检测大多数较新的Mac电脑,并且不包括移动设备,如ipad公司(或机器人会) - 同样是为使用Safari 6.1及更高版本,所以它是一台Mac ...:
@media screen and (-webkit-max-device-pixel-ratio:1) and (min-color-index:0)
{
.mac_osx {(;
color:red;
);}
}
如果你想在手机代替,这个工程的近期高清晰的:
@media screen and (-webkit-min-device-pixel-ratio:1.1) and (min-color-index:0)
{
.retina {(;
color:red;
);}
}
我有更多的手机和平板电脑在这里: https://jeffclayton.wordpress.com/2014/07/22/css-for-hi-def-mobile-retina-devices/这里: HTTPS://jeffclayton.wordpress .COM / 2014/07/28 / CSS-劈东西,但是-IOS /
苹果确实有Internet浏览器的一段时间,但5.5版本后没有做出新的版本。
窗户确实有Safari一段时间,为好,但并没有使版本5.大多数Windows用户后,新版本从不使用Safari浏览器,所以检测Safari浏览器时,你可以大致排除窗口。
如果包括上述所有的样式合并到一个文件中,下面的div将反映从上面样式的结果:
Per Firefox and Internet Explorer/Edge:
<div class="windows"> If this is Windows this is red </div>
<div class="winxp"> If this is Windows XP or older this is red </div>
<div class="win10"> If this is Windows 10 this is red </div>
Per Firefox:
<div class="vista"> If this is Windows Vista this is red </div>
<div class="win7"> If this is Windows 7 this is red </div>
<div class="win8"> If this is Windows 8 this is red </div>
<div class="nonwindows"> If this is NOT Windows this is red </div>
<div class="nonmac"> If this is NOT Mac OS X this is red </div>
<div class="mac"> If this is Mac OS X this is red </div>
<div class="mac10_7up"> If this is Mac OS X 10.7 or newer this is red </div>
<div class="mac10_6up"> If this is Mac OS X 10.6 or newer this is red </div>
<div class="mac10_6"> If this is Mac OS X 10.6 only this is red </div>
<div class="lindroid"> If this is Linux or Android this is red </div>
Per Safari:
<div class="mac_osx"> If this is a Mac using Safari
(desktop or laptop computer) this is red (includes old mobile devices but not before iOS 6) </div>
<div class="mac_or_mobile"> If this is a Mac or a mobile device using Safari
(Android or iPad/iPhone) this is red </div>
<div class="retina"> If this is a hi-def mobile device using Safari
(Android or iPad/iPhone) this is red </div>
在检测的其他注意事项...
基于Internet Explorer /边缘(为便于参考)Windows版本:
As stated above if you detect Internet Explorer 6, you are using XP (or older Win)
If you detect Internet Explorer 7-8, you are using Windows XP, Vista, or Windows 7
If you detect Internet Explorer 9 you are using Windows Vista or Windows 7
If you detect Internet Explorer 10 you are using Windows 7 or Windows 8.0
If you detect Internet Explorer 11 you are using Windows 7 or Windows 8.0/8.1 or Windows 10
If you detect Microsoft Edge you are using Windows 10
的Windows 10是Windows的在此张贴时的当前版本。
对于历史的兴趣,如果你真的想,你可以实际确定Internet Explorer 5或更低的Mac上使用旧的黑客,我发现:
/*\*//*/ .mac_internet_explorer { color:red; } /**/
IE浏览器的Mac版只有在旧的PowerPC Mac,而不是英特尔型号。