继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

CSS代码在不同浏览器兼容问题第二篇——实例

hailun
关注TA
已关注
手记 3
粉丝 5
获赞 30

body:nth-of-type(1) .iehack{
color: #F00;/ 对Windows IE9/Firefox 7+/Opera 10+/所有Chrome/Safari的CSS hack ,选择器也适用几乎全部Mobile/Linux/Mac browser/
}
.demo1,.demo2,.demo3,.demo4{
width:100px;
height:100px;
}
.hack{
/demo1 /
/demo1 注意顺序,否则IE6/7下可能无法正确显示,导致结果显示为白色背景/
background-color:red; / All browsers /
background-color:blue !important;/ All browsers but IE6 /
background-color:black; / IE6, IE7 /
+background-color:yellow;/
IE6, IE7/
background-color:gray\9; /
IE6, IE7, IE8, IE9, IE10 /
background-color:purple\0; /
IE8, IE9, IE10 /
background-color:orange\9\0;/
IE9, IE10/
_background-color:green; /
Only works in IE6 /
+background-color:pink; / WARNING: Only works in IE7 ? Is it right? /
}

/可以通过javascript检测IE10,然后给IE10的<html>标签加上class=”ie10″ 这个类 /
.ie10 #hack{
color:red; / Only works in IE10 /
}

/demo2/
.iehack{
/该demo实例是用于区分标准模式下ie6~ie9和Firefox/Chrome的hack,注意顺序
IE6显示为:绿色,
IE7显示为:黑色,
IE8显示为:红色,
IE9显示为:蓝色,
Firefox/Chrome显示为:橘色,
(本例IE10效果同IE9,Opera最新版效果同IE8)
/
background-color:orange; / all - for Firefox/Chrome /
background-color:red\0; / ie 8/9/10/Opera - for ie8/ie10/Opera /
background-color:blue\9\0; / ie 9/10 - for ie9/10 /
background-color:black; / ie 6/7 - for ie7 /
_background-color:green; /
ie 6 - for ie6 */
}

/*demo3
实例是用于区分标准模式下ie6~ie9和Firefox/Chrome的hack,注意顺序
IE6显示为:红色,
IE7显示为:蓝色,
IE8显示为:绿色,
IE9显示为:粉色,
Firefox/Chrome显示为:橘色,
(本例IE10效果同IE9,Opera最新版效果也同IE9为粉色)

/
.element {
background-color:orange; /
all IE/FF/CH/OP/
}
.element {
background-color: blue; / IE6+7, doesn't work in IE8/9 as IE7 /
}
.element {
_background-color: red; / IE6 /
}
.element {
background-color: green\0; / IE8+9+10 /
}
:root .element { background-color:pink\0; } / IE9+10 /

/demo4/
/*

该实例是用于区分标准模式下ie6~ie10和Opera/Firefox/Chrome的hack,本例特别要注意顺序
IE6显示为:橘色,
IE7显示为:粉色,
IE8显示为:黄色,
IE9显示为:紫色,
IE10显示为:绿色,
Firefox显示为:蓝色,
Opera显示为:黑色,
Safari/Chrome显示为:灰色,

/
.hacktest{
background-color:blue; /
都识别,此处针对firefox /
background-color:red\9; /
all ie/
background-color:yellow\0; /
for IE8/IE9/10 最新版opera也认识/
+background-color:pink; /
for ie6/7/
_background-color:orange; /
for ie6*/
}

@media screen and (min-width:0){
.hacktest {background-color:black\0;} /opera/
}
@media screen and (min-width:0) {
.hacktest { background-color:purple\9; }/ for IE9/IE10 PS:国外有些习惯常写作\0,根本没考虑Opera也认识\0的实际 /
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.hacktest { background-color:green; } / for IE10+ 此写法可以适配到高对比度和默认模式,故可覆盖所有ie10的模式 /
}
@media screen and (-webkit-min-device-pixel-ratio:0){ .hacktest {background-color:gray;} } /for Chrome/Safari/

/ #963棕色 :root is for IE9/IE10, 优先级高于@media, 慎用!如果二者合用,必要时在@media样式加入 !important 才能区分IE9和IE10 /
/
:root .hacktest { background-color:#963\9; }
/

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP