市场上浏览器众多,前端工程师开发完产品后还得挨个调试,以兼容各种浏览器。不能一把全搞定,真是让人不爽。 有的浏览器,比如曾经的IE6,它不但让人不爽,还让人头大。这个时候怎么办?凉拌,把浏览器干掉。 Google旗下YouTube的前工程师Chris Zacharias,就在自己的博客上发文揭露了一段阴谋干掉IE6的尘封往事。 这里需要说一下YouTube。 在2009年的时候,Chris Zacharias是YouTube的一名高级Web开发工程师,当时他所在的团队碰到一个非常头大的问题,那就是YouTube在IE6上面总是会导致浏览器崩溃,但又不能不支持 IE6,因为IE6用户占总用户数的18%左右。 这些工程师决定以一种不惹恼用户的方式,温柔的干掉IE6,以彻底解决这个麻烦之源。
在项目中,经常会遇到IE浏览器的兼容问题,IE678简直是前端工程师的噩梦,每个版本的IE浏览器都会有比较大的差异。 (IE 6)&!(IE 8) :& 且(and),IE6和IE8之外的版本可见。 if (IE 6)|(IE 8) :| 或(or),IE6或IE8可见。 代码如下:以IE8为例 <! (IE 6)&!(IE 8)]> 非IE6及非IE8版本可见 <![endif]--> 也可以实现多版本同时兼容: <! --[if lte IE 6]> <link rel="stylesheet" href="css/lte<em>6</em>.css"> <![endif]--> <!
转自http://css-tricks.com/snippets/html/make-ie-6-crash/ 代码如下 <style>*{position:relative}</style><table
用一行代码搞定各种 IE(IE6-IE10)兼容问题,是一个很不错的方法。 <meta http-equiv="x-ua-compatible" content="<em>IE</em>=9" > <meta http-equiv="x-ua-compatible" content="<em>IE</em>=8" ,或者使用 IE5 Quirks 模式进行解析。 如下面的例子,在 IE8 进行浏览时,将会使用 IE7 的标准模式进行渲染,因为他本身不支持 IE9 和 IE10。 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:各种IE(IE6-IE10)兼容问题一行代码搞定
– IE7 mode –> 4.强制IE8使用IE6或IE5模式来解析 <meta http-equiv=“X-UA-Compatible” content=“IE=6″><! – IE6 mode –> <meta http-equiv=“X-UA-Compatible” content=“IE=5″><! 它修复了许多的HTML和CSS问题,并使 得透明PNG在IE5、IE6下正确显示。 使IE5,IE6兼容到IE7模式(推荐) <! [endif]–> 使IE5,IE6,IE7兼容到IE8模式 <! [endif]–> 使IE5,IE6,IE7,IE8兼容到IE9模式 <!
important 随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.) important; /* IE7+FF */ width: 80px; /* IE6 */ } </style> 2, IE6/IE77对FireFox *+html 与 *html 是IE <style> #wrapper { #wrapper { width: 120px; } /* FireFox */ *html #wrapper { width: 80px;} /* ie6 (常见于导航标签和内容列表) 6, 作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应. 7, 关于手形光标. cursor: pointer 而hand 只适用于 IE.
beta2 */ *html #example { background: #00ff00; } /* IE6 */ *+html #example { background: #0000ff; } /* IE7 */ .demo { background: #ff0000;width:100px;height:50px } /* Moz/FF/IE8 beta2 */ *html .demo { background: #00ff00; } /* IE6 */ *+html .demo { background: #0000ff; } /* IE7 */ </style> </head> <title /title> <body>
看了这个题目,很多人肯定觉得有点太老土了,IE6都快到末路了,不过这个方法确实非常经典,我觉得很有必要记下一笔。 在多数浏览器上,这个方法都很有效,只是除了IE6之外。 Step 1 为IE6单独定制样式 为了解决问题,我们需要将li元素的宽度设置为0,但是不能改变其他浏览器中的宽度,为此我们必须要用一些小手段,只能在IE6下生效,有三种办法: 1、hack 的手法。 3、使用CSS选择器 #nav ul li { width: 0; float: left; } #nav ul > li { width: auto; } IE6会忽略选择器, 参考资料: 1、Fix width:auto Floated Elements in IE 6
没有一款浏览器能比 IE6 给前端开发更带来困扰了,IE6 的 Bug 和对标准的无视(其实 IE 各个版本都习惯于对标准的无视)已经到了令人发指的地步, 比如 IE6 的 JavaScript 解析在 GZip 压缩下问题一堆,微软自己都说没有办法,换浏览器吧; 比如 IE6 对样式的规定乱七八糟,看这个; 比如 IE6 上使用 PNG 还要加上一个带来 N 多挂死问题的滤镜…… 终于微软也忍不住了 ,要专门给 IE6 清理全球最困难的钉子户中国开小灶了: http://theie6countdown.cn/ 微软自己都说了: 能为大家服务十年,已付出了我毕生的心血,尤其感谢中国,中国人民最可爱 十年啊,拉登都顶不住了,何况我一个 IE6 呢? 那我们还啰嗦什么? 而且,要哪一天真的把狗血的 IE6 忘掉了,微软不会又要开一个 WindowXP 终身成就奖,让我们快换 Window7/8/9 吧。
现在电脑普遍来说最低版本的IE也应该是IE8了,但是不排除某些落后的电脑机器依然是IE6.7,所以整理下相关资料以留备用。 -- 关于X-UA-Compatible --> <meta http-equiv="X-UA-Compatible" content="<em>IE</em>=<em>6</em>" ><! -- 使用IE6 --> <meta http-equiv="X-UA-Compatible" content="<em>IE</em>=7" ><! 使用GCF可以让用户的IE浏览器外观不变,但用户在浏览网页时实际上使用的是Chrome的内核,并且支持Windows XP及以上系统的IE6/7/8。 官方对其定义: 可使用开放式网络技术(如 HTML5 canvas 标记)立即启动,甚至包括 Internet Explorer 6、7 或 8 尚不支持的技术。
当li的子元素中有浮动(float)时,IE6/IE7中
现在电脑普遍来说最低版本的IE也应该是IE8了,但是不排除某些落后的电脑机器依然是IE6.7,所以整理下相关资料以留备用。 -- 关于X-UA-Compatible --> <meta http-equiv="X-UA-Compatible" content="<em>IE</em>=<em>6</em>" ><! -- 使用IE6 --> <meta http-equiv="X-UA-Compatible" content="<em>IE</em>=7" ><! 使用GCF可以让用户的IE浏览器外观不变,但用户在浏览网页时实际上使用的是Chrome的内核,并且支持Windows XP及以上系统的IE6/7/8。 官方对其定义: 可使用开放式网络技术(如 HTML5 canvas 标记)立即启动,甚至包括 Internet Explorer 6、7 或 8 尚不支持的技术。
谁不恨IE6? 这个过时的浏览器折磨着每个Web开发人员和设计者。 如果你真的讨厌Internet Explorer 6,那就把下面的代码加到你的header.php模板中,当有人试图用IE6读取你的博客时会瞬间崩溃,活该! --[if lte IE 6]> <STYLE>@;/* <![endif]--> 不过上面的这招也腻损了些,不够友好,不太符合和谐社会的标准,哈。 那就用下面这个方法: 安装插件:ServeDefault toIE6 启用插件后,会自动判断浏览者所使用的浏览器,当发现是IE6时,会自动启用默认主题,让使用IE6的家伙看不见你当前漂亮的网页,也是对他的一种惩罚吧 好了,上面所说的并不是准备真的让IE6浏览器崩溃,只是当你所使用的主题模板,可能采用了新WEB技术标准,比如:CSS3或者HTML5,在IE下根本看不见效果,还可能会影响正常浏览时,采用上述插件,可能是一个很好的折衷办法
不得不使用判断的方法 //方法1:推荐 if ( /MSIE 6/.test(navigator.userAgent)){ } //方法2: if ( navigator.appVersion.indexOf ("MSIE 6")>-1){ } //方法3:检查浏览器能力来判断是否是IE6 if ( !!
inline-block; width:100px; height:23px; text-indent:-9999px;background-image:url(img.jpg);} 在标准浏览器下是没问题的,但是在IE6 解决方法4: 给元素加 position:absolute; PS:inline或inline-block元素设置text-indent在IE6/IE7中显示不正常的bug致使text-indent会传递到父及元素 造成这种情况的原因应该是IE6/IE7并没有真正实现inline-block,而是通过设置display:inline-block触发了IE的layout,从而使内联元素拥有了inline-block属性的表症
HTML5学堂:虽然IE6现在使用率越来越低,很多网站也放弃了对IE6,甚至放弃了对IE7的兼容,但是IE6还是有很多人在使用。
ie6浏览器算是旧版本了,如果你想要设置兼容性视图,该怎么设置呢?下面由学习啦小编为大家整理了IE6浏览器的兼容性视图设置在哪里的方法,希望对大家有帮助! IE6浏览器兼容性视图设置在哪里 IE6兼容性视图设置的方法和步骤如下 打开电脑后,在开始菜单中,选种【所有程序】,在程序列表中,会看到Internet Explorer浏览器,显示的WIN7操作系统的操作图 ,如图 点击IE浏览器,打开浏览器后,默认登录到设置的首页,在浏览器的右边会有三个按钮,【主页】、【收藏】、【工具】,如图 点击【工具】选项,会出现一个列表,就有【打印】、【文件】、【安全】、【兼容性视图
代码: 点我咯 <script> var loadiframe = function(){ alert('弹不出来!!!') } </script> 解决方案: 1、修改为href="##",为什么是两个#,因为一个#会往上跳; 2、修改为href="javascript: void loadiframe()"; 3、把href 去掉; 4、onclick="lo
今天在调试一个页面的时候遇到一个问题,在IE9下运行得很好的脚本,在IE8里打开的时候弹出错误:expected identifier, string or number,按照经验,应该是定义对象的时候最后一个属性末尾跟了逗号