兼容ie8的浏览器有哪些(手把手教你ie11永久设置ie8模式)


IE8兼容是每位webFrontender的痛点,这里讲介绍本人在兼容ie8常用到的一些兼容方法和属性,干货马上呈上:

1.不支持background-size属性

background-size:100% 100%;
 filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='your img url', sizingMethod='scale');

2.透明度兼容写法

opacity=0.3;
filter:alpha(opacity=30);

3.背景色透明度兼容

background-color: rgba(0,0,0,0);
 filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr=#00000000,endColorstr=#000000000);

r代表red,g代表green,b代表blue,a代表透明度。红绿蓝是三原色,所有颜色都可以由这三种颜色拼合而成。比如rgba(0,0,0,.5)就是透明度为0.5的黑色。现代浏览器是支持rgba的,但是在IE8等古董级浏览器中是不支持rgba的,IE8只能勉强支持rgb()函数(即去掉了透明度,只能表示颜色)。

web前端开发之ie8浏览器常见的兼容性问题

rgba和IE下filter数值转换

4.placeholder兼容方法

这里使用js方法来解决

$(function() {
 function isSupportPlaceholder() {
 var input = document.createElement('input');
 return 'placeholder' in input;
 }
 function input(obj, value) {
 var $input = obj;
 var value = value;
 $input.attr({value:value}).css("color","#999999");
 $input.focus(function() {
 if ($input.val() == value) {
 $(this).attr({value:""}).css("color","#333333");
 }
 }).blur(function() {
 if ($input.val() == "") {
 $(this).attr({value:value}).css("color","#999999");
 }
 });
 }
 if(!isSupportPlaceholder()) {
 $('input').not("input[type='password']").each(
 function() {
 var value =$(this).attr("placeholder");
 input($(this), value);
 }
 );
 $('input[type="password"]').each(
 function() {
 var pwdField = $(this);
 var pwdVal = pwdField.attr('placeholder');
 var pwdId = pwdField.attr('id');
 // 重命名该input的id为原id后跟1
 pwdField.after('<input id="' + pwdId +'1" type="text" value='+pwdVal+' autocomplete="off" />');
 var pwdPlaceholder = $('#' + pwdId + '1');
 pwdPlaceholder.show();
 pwdField.hide();
 pwdPlaceholder.focus(function(){
 pwdPlaceholder.hide();
 pwdField.show();
 pwdField.focus();
 });
 pwdField.blur(function(){
 if(pwdField.val() == '') {
 pwdPlaceholder.show();
 pwdField.hide();
 }
 });
 }
 );
 }
});

结语

ie8的坑远不止这些,一些常用的伪类,flex布局就别想用了,如果网站是B2C的性质,还是老老实实用最原始的布局吧。时间有限,就先写这些最常用的兼容,本文将不定期更新,根据情况加入其它hack…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论