首页 > 代码库 > 浏览器及一些常用的兼容性

浏览器及一些常用的兼容性

!--//渐变-->

background: #f6b439;

background: -moz-linear-gradient(top, #f6b439 0%, #825304 100%);

background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f6b439), color-stop(100%,#825304));

background: -webkit-linear-gradient(top, #f6b439 0%,#825304 100%);

background: -o-linear-gradient(top, #f6b439 0%,#825304 100%);

background: -ms-linear-gradient(top, #f6b439 0%,#825304 100%);

background: linear-gradient(to bottom, #f6b439 0%,#825304 100%);

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=‘#f6b439‘, endColorstr=‘#825304‘,GradientType=0 );

--//透明背景-->

opacity:0;filter:alpha(opacity=0);

--//rgba-->

background: rgba(255,255,255,.1);

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#0000000,endColorstr=#0000000);

--//用谷歌内核或更高级的IE内核-->

< meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″ />

使IE5,IE6,IE7,IE8兼容到IE9模式

< !–[if lt IE 9]>

< script src=http://www.mamicode.com/”http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js”>

<![endif]–>

--//IE6/7实现display:inline-block-->

.test{display:inline-block; *zoom: 1; *display: inline;}

--//IE8兼容-->

< meta http-equiv="X-UA-Compatible" content="IE=edge"/>

< meta http-equiv="content-type" content="text/html; charset=utf-8"/>

< meta name="apple-mobile-web-app-capable" content="yes"/>

--js获取li元素的方法-->

html代码

< div id="star">

< ul>

< li>< img src="http://www.mamicode.com/images/star1.jpg" /></li>

< li>< img src="http://www.mamicode.com/images/star1.jpg"/></li>

< li>< img src="http://www.mamicode.com/images/star1.jpg"/></li>

< li>< img src="http://www.mamicode.com/images/star1.jpg"/></li>

< li>< img src="http://www.mamicode.com/images/star1.jpg"/></li>

< /ul>

< /div>

js代码

var a = document.getElementById("star");

var b = a.getElementsByTagName("ul");

var c = b[0].getElementsByTagName("li");

非IE6,7,8可以直接用自带的属性 getElementsByClassName,如果需要考虑兼容,就需要自己写了。下面是自己写的:

function getClassName(obj,sName) //-->obj是要获取元素的父级

{ //-->sName是class名字

if(document.getElementsByClassName)

{

return obj.getElementsByClassName(‘sName‘);

}

else

{

var aTmp = obj.getElementsByTagName(‘*‘);

var aRes=[];

var arr =[];

for(var i=0;i<atmp.length;i++)< p="">

{

arr = aTmp[i].className.split(‘ ‘);

for (var j=0;j<arr.length;j++)< p="">

{

if(arr[j] == sName)

{

aRes.push(aTmp[i]);

}

}

}

return aRes;

}

IE8------z-index

IE8下z-index还取决于其父级relative的大小

IE8背景图不显示

norepeat 前要有空格

IE8兼容cover的做法

background:url(‘http://jt.6816.com/template/pc/images/5_05_03.jpg‘) no-repeat;background-size:100%;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http://www.mamicode.com/‘http://jt.6816.com/template/pc/images/5_05_03.jpg‘, sizingMethod=‘scale‘);"

IE7兼容overflow的做法

在其父级或其上元素加上position:relative;overflow:hidden

IE7兼容display:inline-block的做法

display:inline-block; _zoom:1;*display:inline;

ie兼容text-align

元素样式:text-align: -moz-center !important; 这个是火狐下的居中样式,而IE下的样式则是标准的:text-align:center;

ie兼容float:right

1,将带有的元素放在最前边,比如:放在float:left前边

td在IE7下字体换行高度变大的问题

将第一行的td width去掉

IE专属写法

#tip { background:blue; /*Firefox 背景变蓝色*/ background:red \9; /*IE8 背景变红色*/ *background:black; /*IE7 背景变黑色*/ _background:orange; /*IE6 背景变橘色*/ }

ie7 js无法找到对象

可能在类最后一个多一个逗号 其他浏览器正常

//select中有一个也可以选择
$(‘select‘)[0].selectedIndex = -1;

zepto获取select的值

$(‘option‘).not(function(){ return !this.selected })

css文字超出限制

.xianzhi{display:block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}

多行显示引号使用

/*overflow : hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;*/

火狐浏览器input缓存问题

给每一个input加上一个 autoconplete="off" 的属性

自定义微信滑动专题不能使用position:fixed

要使用position:absolute,否则会导致安卓手机键盘悬浮的问题

用自定义块级元素按钮,不用button

苹果会自动给其一个圆角样式

浏览器及一些常用的兼容性