最近一个关于微软的新闻吸引了我,据报道:
微软公司5月19日宣布,从明年6月15日起,IE浏览器将基本淘汰,标志着又一款数字产品将退出历史
Internet Explorer
(简称:IE)是微软公司推出的一款网页浏览器。原称Microsoft Internet Explorer
(6版本以前)和Windows Internet Explorer
(7、8、9、10、11版本)。在IE7以前,中文直译为“网络探路者”,但在IE7以后官方便直接俗称"IE浏览器"。Windows 10
上,用Microsoft Edge
取代了Internet Explorer
。Internet Explorer 8/9/10
三个版本的技术支持,用户将不会再收到任何来自微软官方的IE安全更新;作为替代方案,微软建议用户升级到IE 11或者改用Microsoft Edge浏览器。JQuery
这些库开发,大到不能倒,重构难度大,且对于一些项目来说重构的投入与回报不成正比(老板说:我反正能用啊...等等),加上有可能就是外包写的,写完跑路了。Microsoft Edge
.随便百度一篇文章,就会出来几十条,例如:
一、CSS常见问题
1、H5标签兼容性
解决方案:<script src="http://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
2、元素浮动之后,能设置宽度的话就给元素加宽度,如果需要宽度是内容撑开的,就给它里边的块元素加上浮动float:left;
3、第一块元素浮动,第二块元素加margin-left值等于第一块元素宽度,在IE6下会有间隙问题
解决方案:不要用margin-left,给两个元素都加上浮动float:left;
4、IE6下子元素超出父级宽高,会把父级宽高撑开,比如用于放置轮播的ul宽度会超出父元素
解决方案:不要让子元素的宽高超过父级
5、P包含块元素嵌套规则
牢记规则:p、h标签不能嵌套块元素
二、CSS兼容性问题
1、margin兼容性问题
1)margin-top传递,子元素上下margin会传递给父级
阻止:触发BFC(如overflow:hidden;拯救标准浏览器及IE78)、触发IE的haslayout zoom:1(拯救IE67);
2)上下margin叠压(触发条件:同级元素,第一个元素的下与第二个元素的上会叠压在一起)
解决方案:两个元素分开设置margin,然后尽量使用同一方向的margin,比如margin-top
2、display:inline-block; 块元素变为内联块, IE67不兼容;内联元素变为内联块,所有浏览器都支持
解决方案:{display:inline-block; *display:inline; *zoom:1;}
发现问题:当然,变为内联块后,有一个特性就是如果元素换行,在页面上元素之间就会有空隙的,空隙大小为一个空格的像素大小。
3、IE6元素最小高度为19px
解决方案:overflow:hidden;
4、IE67双边距,当元素浮动后,再设置margin,那么就会产生双倍边距
解决方案:针对IE67,添加*display:inline;样式,比如页面上横向排列的几组块,会经常遇到
5、li里元素都浮动,在IE67下方会产生4px间隙问题
解决方案:针对IE67,添加*vertical-align:top;样式
6、IE6下,两个浮动元素之间有注释或者内联元素并且和父级宽度相差不超过3px,会导致多复制一些文字问题
解决方案:1)两个浮动元素之间避免出现内联元素或者注释
2)与父级宽度相差3px或以上
7、IE67父级元素的overflow:hidden;子元素设置position:relative后,就包不住子元素了
解决方案:针对IE67,给父级元素添加position:relative;
8、IE6下绝对定位元素父级宽高是奇数,绝对定位元素的right和bottom值会有1px的偏差
解决方案:避免父级宽度出现奇数
9、IE6下绝对定位元素和浮动元素并列绝对定位元素消失
解决方案:浮动元素和绝对定位元素时同级的话,定位元素就会消失,只要让它们两个不处于同级就可以避免这个bug了
10、IE6下input的空隙
解决方案:针对IE67,给input元素添加*float:left;
11、IE6下输入类型表单控件背景问题,背景不固定,滚动了
解决方案:设置background-attachment:fixed;
12、line-height 在IE67、FF下不兼容,会有几个像素的偏差,目测只有IE8和其他标准浏览器正常
IE6下,想给给图片设置line-height来达到垂直居中效果是实现不了的,就给img标签单独设置{float:left;postion:relative;top:...}
当然,文本的line-height还是识别的
13、常见文章列表布局:标题+发布日期
<ul>
<li>这里是文章列表标题,我是奇葩的IE浏览器<span style="float:right">2015-07-17</span></li>
<li>这里是文章列表标题2,我是奇葩的IE浏览器<span style="float:right">2015-07-17</span></li>
</ul>
假设你按照以上布局,那么恭喜你,在IE67下发布日期会掉到下一行去
解决方案,按如下布局:
<ul>
<li><span style="float:right">2015-07-17</span>这里是文章列表标题,我是奇葩的IE浏览器</li>
<li><span style="float:right">2015-07-17</span>这里是文章列表标题2,我是奇葩的IE浏览器</li>
</ul>
或
<ul>
<li><span style="float:left">这里是文章列表标题,我是奇葩的IE浏览器</span><span style="float:right">2015-07-17</span></li>
<li><span style="float:left">这里是文章列表标题2,我是奇葩的IE浏览器</span><span style="float:right">2015-07-17</span></li>
</ul>
14、遮罩弹窗
标准 不透明度:opacity:0~1
IE678滤镜:filter:alpha(opacity=0~100);
15、<a>的手形光标
标准浏览器下,不需要设置也有
IE6下没有,就给a{cursor:pointer;}
16、<a>的 text-decoration:none;
标准下,只需 a {text-decoration:none;}
IE6下,a {text-decoration:none;} 并且 a:hover {text-decoration:none;}
三、CSS hack
\9 IE67 8-10 例如:background:blue\9;
+* IE67 例如:*background:yellow; +background:yellow;
_ IE6 例如:_background:green;
四、png-24兼容性问题,IE6不支持
解决方案:
1)引用Js插件,不能处理body以上的,最好放在页面底部,这样不影响页面加载,也就是放在</body>标签上面
<!--[if IE 6]>
<script src="DD_belatedPNG_0.0.8a.js" type="text/javascript"></script>
<script>
DD_belatedPNG.fix("*");
</script>
<![endif]-->
2)原生滤镜,给背景图所在的标签加上如下样式,比如body
body {
_background-image:none;
_filter:progid:DXImage Transform.Microsoft.AlphaImageLoader(src="XX.png",sizingMethod="crop");
}
原文地址:https://www.iefans.net/dibanb...
Ant-Design
都没有的时代,拿着JQuery,处理着各种头痛的IE问题,写着各种polyfill
,就会感慨,这是一个好的时代,各种技术百花齐放,轮子满天飞...把精力放在兼容谷歌浏览器和Edge等主流浏览器上,推荐一个网站,can i use
.可以查询各种兼容性问题的
https://caniuse.com/
requestAnimationFrame
狂奔的野狗
,不用再关心兼容性问题,创新性的库和框架一定会遍地开花?? 看完三件事
如果你觉得这篇内容对你挺有启发,我想邀请你帮我三个小忙:
点「在看」,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-)
关注公众号「前端巅峰
」,不定期分享原创知识。
也看看其它文章
今天分享一个CSS3制作的翻牌效果,效果如下图所示,所过把把这个效果应用于相册...
Apple Mug Icons and Extras HD StorageBox add on pack Sabre Snow Mac USB Ico...
简介:极速部署一个微服务电商商城,体验 Serverless 带给您的应用全托管体验。 ...
使用css的filter写鼠标滑过效果 div class=filter-div img class=filter-img src...
锚点链接对站点SEO非常重要,当页面内容过多的时候,我们就会用到锚点链接,庞大...
给定一张有如下背景图的 div: 制作如下的倒影效果: 方法很多,但是我们当然要...
功能需求 项目需求:需要实现一个可以自由书写的小画板 简单实现 对于熟悉canvas...
导读:界面设计师Joshua Porter在自己的博客中发表了这篇文章,文章中列举了20条...
Dreamweaver使用临时文件将一些未经保存的数据传输至其它应用程序中,例如用户可...
相当数量的网站都使用数字分页效果,例如本站的分页也是采用此方式,还算是比较...