IE8的css hack 9 使用说�_电脑教程_软科�院
首先感谢丸å�æ��供的这个IE8çš„css hackï¼›
关注过IE8的css hack的人相信大家都在使用这个hack,就是9的css hack:
.test{ color:#000000; /* FF,OP支æŒ� */ color:#0000FF9; /* 所有IEæµ�览器(ie6+)支æŒ� ;但是IE8ä¸�能识别*å’Œ_çš„css hack;所以我们å�¯ä»¥è¿™æ ·å†™hack */ [color:#000000;color:#00FF00; /* SF,CH支æŒ� */ *color:#FFFF00; /* IE7支æŒ� */ _color:#FF0000; /* IE6支æŒ� */ }
包括我自己也是使用这�的,这是我�段时间整�的《主��览器的一些CSS hack》。
很多人å†�ç ”ç©¶color:#0000FF9;ä¸çš„为什么IE6-IE8支æŒ�9写法,和它的å�Ÿç�†ï¼Œæˆ‘å�ªæ˜¯ä¸ªå·¥ç¨‹å¸ˆï¼Œä¸�是科å¦å®¶ï¼Œæˆ‘ä¸�懂为什么和它的真æ£å�Ÿç�†ï¼ŒçœŸçš„ï¼�很æƒæ„§ï¼�
昨天在æŸ�个群里也看到部分å‰�端工程师或网页é‡�æ�„师势利的一é�¢ï¼Œå�Œæ ·çš„一个解决方案,大公å�¸æœ‰å��çš„å‰�端工程师或网页é‡�æ�„师写的东西都追æ�§ï¼Œè€Œå°�å…¬å�¸æ²¡å��气的å‰�端工程师或网页é‡�æ�„师写的解决方案å�´è¢«å��问:css有这ç§�写法å�—?看æ�¥ä½ è¿�最基本的cssçš„å‡ ä¸ªå±�性和å±�性值都没æ��æ‡‚ï¼›å°±ç®—ä½ è§£å†³äº†é—®é¢˜ä½ å†™çš„css也是ä¸�è§„èŒƒçš„ï¼Œå°±æ˜¯è§„èŒƒä½ è·Ÿæˆ‘è®²è®²ä½ è§£å†³æ–¹æ¡ˆçš„å�Ÿç�†ï¼›å�Œæ ·çš„一个解决方案,大公å�¸æœ‰å��çš„å‰�端工程师或网页é‡�æ�„师写的这些å��问质疑就全都没了,拼命的å�»ç ”究他这个解决方案,呵呵,我觉得那些人很å�¯ç¬‘。还有很多人问问题å�ªæœ‰å¾—到大公å�¸æœ‰å��çš„å‰�端工程师或网页é‡�æ�„师的肯定å›�ç”å��æ‰�放心而å�ˆå¼€å¿ƒçš„走了,甚至ä¸�留一å�¥è°¢è°¢ã€‚当然没人(包括我)å�¦è®¤å¤§å…¬å�¸æœ‰å��çš„å‰�端工程师或网页é‡�æ�„师在业界的影å“�力,他们为å‰�端和é‡�æ�„业界å�šçš„贡献大家都是看得到的,å�ªæ˜¯è§‰å¾—å�šäººï¼ˆç‰¹åˆ«æ˜¯æˆ‘们å�šæŠ€æœ¯çš„)ä¸�能太势利,多一点技术共享和æ�¢è®¨ï¼Œå¤šä¸€ç‚¹æ„Ÿæ¿€ï¼Œå¦ä¹ æˆ�é•¿æ‰�是最é‡�è¦�的。我承认我以å‰�ç»�常骂人,骂人家SB,内å�‚国ç�‹è¯´çš„对,骂人家SBå°±ç‰äº�骂自己SB,我以å‰�是很SB。ä¸�想æ�¢è®¨å°±çœ‹ç�€å‘—,骂人是ä¸�对的ï¼�
扯远了,�到IE8的CSS hack,讲讲color:#0000FF9:
color:#0000FF9的hack支�IE6-IE8(其他版本没有测试),但是IE8�能识别*和_的css hack,所以我们�以使用
color:#0000FF9; ;/*ie6,ie7,ie8*/
*color:#FFFF00;/*ie7*/
_color:#FF0000;/*ie6*/
�区分IE的�个版本。
说æ˜�ï¼šåœ¨æ ‡å‡†æ¨¡å¼�ä¸
-��是IE6专有的hack
9 IE6/IE7/IE8/IE9/IE10都生效
IE8/IE9/IE10都生效,是IE8/9/10的hack
9 �对IE9/IE10生效,是IE9/10的hack
测试代ç �
script type=text/javascript //alert(document.compatMode); /script style type=text/css 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:gray9; /* IE6, IE7, IE8, IE9, IE10 */ background-color:purple; /* IE8, IE9, IE10 */ background-color:orange9;/*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; /* ie 8/9/10/Opera – for ie8/ie10/Opera */ background-color:blue9; /* 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; /* IE8+9+10 */ } :root .element { background-color:pink; } /* 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:red9; /*all ie*/ background-color:yellow; /*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;} /*opera*/ } @media screen and (min-width:0) { .hacktest { background-color:purple9; }/* for IE9/IE10 PS:å›½å¤–æœ‰äº›ä¹ æƒ¯å¸¸å†™ä½œï¼Œæ ¹æœ¬æ²¡è€ƒè™‘Opera也认识的å®�é™… */ } @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:#9639; } */ /style
更多的介ç»�å�¯ä»¥å�‚è€ƒè¿™ç¯‡æ–‡ç« ï¼šhttp://www.jb51.net/css/493362.html
至äº�为什么使用9我真的ä¸�清楚å�Ÿå› ,但是丸å�测试了其他0-13çš„æ•°å—,最终结æ�œå¦‚下:
å…¶ä¸ï¼šOP表示Opera,SA表示Safari,Ch表示Chromeï¼›å½“ç„¶ä½ å¦‚æ�œè¿˜æœ‰è€�心å�¯ä»¥æµ‹è¯•ï¼Œï¼Œã€‚。。
ä»�上é�¢æµ‹è¯•ç»“æ�œæˆ‘们å�¯ä»¥çœ‹å‡ºçš„写法å�ªè¢«IE8识别,ie6,ie7都ä¸�能识别,那么应该是IE8的真æ£hack。主æµ�æµ�览器的 CSS hackè¿™æ ·æ›´å¥½ä¸€äº›ï¼š
å¤�制代ç �代ç �如下:
.test{
color:#000000; /* FF,OP支� */
color:#0000FF; /* IE8支�*/
[color:#000000;color:#00FF00; /* SF,CH支� */
*color:#FFFF00; /* IE7支� */
_color:#FF0000; /* IE6支� */
}
å…¶ä¸ï¼šOP表示Opera,SA表示Safari,Ch表示Chromeï¼›
�外��google Chrome和Safari�览器的�行,找google Chrome和Safari CSS hack的人也�少。我也找了一下:
å¤�制代ç �代ç �如下:
body:nth-of-type(1) .CH{
nbsp;nbsp; color: #FF0000;/* 这是专门针对Chrome和Safari的CSS hack */
}
转载请注明:范的资源库 » IE8çš„css hack 9 使用说æ˜�_电脑教程_软科å°�院