我需要为各种浏览器定位特定的CSS样式。
我设法找到了一种单独定位的方法: 仅限Firefox 仅限IE9 仅限IE8 仅限IE7
但是......我无法单独定位Chrome和Safari。我找到了几种适用于Chrome和Safari的技术。一些技术应该针对一个或另一个......但是它们相互重叠,所以最后一个适用于两者。
我已经设置了一个JS小提琴来展示各种技巧,并显示浏览器匹配颜色。任何人都可以帮我找到定位SEPARATELY Safari和Chrome的秘诀吗?
http://jsfiddle.net/lbriquet/MP4qZ/
这是CSS:
#tester {
font-weight:bold;
padding:10px;
margin:5px;
color: #FFF;
border:#00F solid 4px\9; /* IE8 and below */
*border:#FF0 solid 4px; /* IE7 and below */
-bracket-:hack(;
border:#0FF solid 4px; /* Chrome only*/
);
}
:root #tester{
border:#0F0 solid 4px \0/IE\9; /* IE9 +IE10pp4 */
}
@-moz-document url-prefix() { #tester { border:#F00 solid 4px; /* Firefox only*/ } }
@media all and (-webkit-min-device-pixel-ratio: 0) { #tester { border: #F0F solid 4px; /* Safari */ } }
/* iPads (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {
#tester {
border: #F90 solid 4px;
}
}
这是html:
<span id="tester">Browser match</span>
任何帮助将不胜感激! :)
答案 0 :(得分:0)
你需要一些JS:
var is_chrome = window.chrome;
var is_safari = (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1);
if (is_chrome) {
$('#tester').addClass('chrome');
}
else if (is_safari) {
$('#tester').addClass('safari');
}
和
#tester.chrome {
/* your CSS here */
}
#tester.safari {
/* your CSS here */
}