美文网首页Web 前端开发
IE部分兼容性整理

IE部分兼容性整理

作者: 阿r阿r | 来源:发表于2018-09-10 21:28 被阅读0次

1.IE滚动条处理

其他 ::-webkit-scrollbar ::-webkit-scrollbar-thumb ::-webkit-scrollbar-track

2.es6兼容问题

ie8不要用let。 改成var。 for循环上下级标志字符修改。

3.css3兼容问题

最近在项目中,有很多地方都用到了线性渐变,比如:表单提交按钮的背景,数据展示的标题背景等等,按照以前的做法是切 1px 图片然后 repeat-x。下面我将介绍如何用 css 来完成该效果。 

css3:linear-gradient 

比如:黑色渐变到白色,代码如下: 

复制代码代码如下:

.gradient{ 
background: -moz-linear-gradient(top, #000000 0%, #ffffff 100%); 
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#000000), color-stop(100%,#ffffff)); 
background: -webkit-linear-gradient(top, #000000 0%,#ffffff 100%); 
background: -o-linear-gradient(top, #000000 0%,#ffffff 100%); 
background: -ms-linear-gradient(top, #000000 0%,#ffffff 100%); 
background: linear-gradient(to bottom, #000000 0%,#ffffff 100%); 
} 

ie 滤镜:filter 

linear-gradient 在 ie9 以下是不支持的,所以对于 ie6 - ie8 我们可以使用滤镜来解决,代码如下: 

复制代码代码如下:

.gradient{ 
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff',GradientType=0 ); 
} 

由于 filter 是 ie 的私有属性,所以我们需要针对 ie9 单独处理滤镜效果,代码如下: 

复制代码代码如下:

:root {filter:none;} 

总结: 

综上所述,线性渐变的兼容写法如下: 

复制代码代码如下:

.gradient{ 
background: #000000; 
background: -moz-linear-gradient(top, #000000 0%, #ffffff 100%); 
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#000000), color-stop(100%,#ffffff)); 
background: -webkit-linear-gradient(top, #000000 0%,#ffffff 100%); 
background: -o-linear-gradient(top, #000000 0%,#ffffff 100%); 
background: -ms-linear-gradient(top, #000000 0%,#ffffff 100%); 
background: linear-gradient(to bottom, #000000 0%,#ffffff 100%); 
//  0 从上往下
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff',GradientType=0 ); 
} 
:root .gradient{filter:none;} 

4.line-height

文字有时不能垂直居中,究竟IE9 line-height设置文字不能垂直居中原因是什么?

IE9不支持line-height原因:中文ie9不支持英文字体

相信大家在IE9看见自己使用line-height设置垂直居中文字不能垂直居中,这是与你设置字体有关,通常大家习惯设置font-family:Arial, Helvetica, sans-serif;

ie9中line-height失效解决方法:
只需设置好字体,添加个宋体即可解决 如CSS代码font-family:Arial, "宋体",Helvetica, sans-serif;

设置字体时候注意,还需设置大家都默认系统自带字体,如黑体,宋体

5. addEventListener和attachEvent函数中的this的指向问题及解决方法

    //这是一个使用addEventListener函数的代码片段
    obj.addEventListener('click',function(){
        console.log(this);//this指向obj
    },false);

    //这是一个使用attachEvent函数的代码片段
    obj.attachEvent('onclick',function(){
        console.log(this);//this指向window
    });

解决:ie下支持e.srcElement,ff支持e.target。

    //这是一个使用addEventListener函数的代码片段
    obj.addEventListener('click',function(e){
        console.log(this);//this指向obj
        console.log(e.target);//obj
    },false);

    //这是一个使用attachEvent函数的代码片段
    obj.attachEvent('onclick',function(e){
        console.log(this);//this指向window
        console.log(e.srcElement);//obj
    });
    
    //兼容两者: var target = e.srcElement ? e.srcElement : e.target;

6.label的click事件在ie8,ie9下无法进行,会一直选中checkbox

http://www.phpvar.com/archives/3318.html
解决:选中元素后添加元素过滤
iE8只支持: 不支持:: !!!!!重要

7. a标签的target设置成_blank的时候href=void(0)失效

a标签在不同浏览器中点击事件触发的顺序不一样
https://www.jb51.net/article/103151.htm

相关文章

  • IE部分兼容性整理

    1.IE滚动条处理 其他 ::-webkit-scrollbar ::-webkit-scrollbar-th...

  • es6

    兼容性 IE:可以看到IE6,IE7是完全不支持的。而IE8是只支持一些内容,参考引用4,IE9是大部分支持,支持...

  • CSS3 Gradient颜色 渐变色彩

    兼容性:IE10+

  • css3动画与js动画

    比较 兼容性 css3 兼容性不好,IE10才开始支持。 js 兼容性好,甚至可以兼容IE6。 性能 css3 在...

  • HTML5——w3c教程总结(一)

    一、video标签 实现video支持媒体播放视频功能,兼容性IE9以上,IE9支持部分MP4功能。 效果如图: ...

  • css IE6兼容

    display:inline-block的兼容性 兼容性: IE6、IE7不识别inline-block但可以触发...

  • css垂直居中方法整理

    行高+padding垂直居中法(兼容性好IE5.5及以上) table垂直居中法(兼容性好IE5.5及以上) 垂直...

  • css 每天一练之背景渐变

    以下来自CSS实现兼容性的渐变背景(gradient)效果 部分内容 特别注意:IE9以下不支持渐变,需要使用IE...

  • 前端面试题之解决浏览器兼容性的方案

    浏览器兼容性涉及的内容有很多,特别是针对IE浏览器,以下整理出五种常见的浏览器兼容性解决方法。 一、样式初始化 由...

  • pc端ie兼容性问题整理

    (1)display:inline-block; 不支持ie7的解决方案 css: .img{font-size:...

网友评论

    本文标题:IE部分兼容性整理

    本文链接:https://www.haomeiwen.com/subject/ulpegftx.html