/* Firefox (any) */
_:-moz-tree-row(hover), .selector { color:red; }
检测Chrome的新版本:
(此方法不适用于iOS上的Chrome!!! --- 开发者在iPad和iPhone上使用了Safari引擎而非Chromium或Mozilla - 因此您需要使用Safari hack来检测这些浏览器的iOS版本)
/* Chrome 29 and newer */
@media screen and (-webkit-min-device-pixel-ratio:0)
and (min-resolution:.001dpcm) {
.selector { color:red; }
}
/* Chrome 22-28 */
@media screen and(-webkit-min-device-pixel-ratio:0)
{
.selector {-chrome-:only(;
color:red;
);}
}
/* Safari 6.1-10.0 */
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0)
{ @media {
.selector { color:red; }
}}
2017年3月底,Safari进行了更新,因此这个适用于10.1版本:
/* Safari 10.1+ */
@media not all and (min-resolution:.001dpcm)
{ @media {
.selector { color:red; }
}}
对于版本(7.1及以上),您可以使用此代码:
/* Safari 7.1+ (10.1 is the current version as of April 2017) */
_::-webkit-full-page-media, _:future, :root .selector { color:red; }
针对较新版本的Internet Explorer:
/* Internet Explorer 11 */
_:-ms-fullscreen, :root .selector { color:red; }
/* Internet Explorer 10+ AND Microsoft Edge */
_:-ms-lang(x), .selector { color:red; }
/* Internet Explorer 9-11 */
_::selection, .selector { color:red\0; }
/* Microsoft's Edge Browser */
@supports (-ms-ime-align:auto) { .selector { color:red; } }
这些是基础知识,但如果想看更多我针对不同浏览器版本创建的作品,请查看我的博客:
https://jeffclayton.wordpress.com
或者我的实时CSS hack测试页面:https://browserstrangeness.bitbucket.io/css_hacks.html MIRROR: https://browserstrangeness.github.io/css_hacks.html
享受!
有一种方法可以在IE中利用浏览器和@import中的漏洞来实现。我看到的最好的方法是这里,由bobince提供(肯定比我的回答好)。
总的来说,不行。即使是条件注释也只适用于IE。
.ie .example {
background-color: yellow
}
.ie7 .example {
background-color: orange
}
.gecko .example {
background-color: gray
}
.win.gecko .example {
background-color: red
}
.linux.gecko .example {
background-color: pink
}
.opera .example {
background-color: green
}
.konqueror .example {
background-color: blue
}
.webkit .example {
background-color: black
}
只能通过黑客手段实现。条件注释仅适用于标记文件,而不适用于.CSS文件。
我认为没有比Rafael Lima上面提到的CSS浏览器选择器更好的了,所以我不会在这里添加链接或示例,这些示例来自于Rafael Lima的页面。
但需要注意的是,它只能在CSS选择器之外使用,不能针对特定的CSS行,但它比标准方法更强大且更易于阅读。
不确定确切的方法。我们只是在代码后端根据用户浏览器设置CSS文件。