【前端新手】实现ie浏览器界面兼容所遇的坑

  1. 页面<head>标签请务必引入下行代码,可实现让ie浏览器以最高版本的渲染引擎进行页面渲染。——相信很多小伙伴都熟悉了这个meta
<meta http-equiv="X-UA-Compatible" content="IE=edge" />

这就避免出现以下坑爹情况:ie版本很高,但界面可能还是以低版本进行渲染。像我之前忘设置了,测试那边反馈给我在ie11浏览器中还弹出进行版本升级的提示。               

2. 使用hack手段,针对不同浏览器设置不同的样式展示

使用案例:

使用案例:
<!--[if lte IE 6 ]> <html class="ie ie6 lte_ie7 lte_ie8 lte_ie9" lang="zh-CN"> <![endif]-->
<!--[if IE 7 ]> <html class="ie ie7 lte_ie7 lte_ie8 lte_ie9" lang="zh-CN"> <![endif]-->
<!--[if IE 8 ]> <html class="ie ie8 lte_ie8 lte_ie9" lang="zh-CN"> <![endif]-->
<!--[if IE 9 ]> <html class="ie ie9 lte_ie9" lang="zh-CN"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="zh-CN"> <!--<![endif]-->  //重点:注意<!-->标签并不多余哦
然后在css中类似引用:
.ie8 XX { }  //就可以只针对ie8浏览器使用该样式

注意:我并不推荐像案例那样直接在<html>标签中使用hack方法,应该尽力保持<html>简洁。为什么呢?

——因为在项目开发时,我遇到这样一个情况:在<html>使用hack方法为不同浏览器设置了相应的class属性,并且在<head>头部也配置了

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

 结果在XP系统的ie8中进行测试时,界面默认以ie8兼容的浏览器模式(ie7标准)进行显示,这就照成了我页面部分布局被破坏。具体底层是什么原因导致的,我也不清楚。后来的解决方法是:对body使用hack方法可避免这种情况出现,如下:

<!--[if lte IE 7 ]> <body class="actfc lte_ie7" > <![endif]-->
<!--[if (gte IE 8)|!(IE)]><!--> <body class="actfc"> <!--<![endif]-->
对需要在ie8以下显示的样式,只需要在css选择器前面加上 .lte_ie7 即可

 解决这种情况的方法不止着一种,还可以用js代码判断ie浏览器的版本,并未不同版本设置样式。

所以,这里面的关键就是:<meta http-equiv="X-UA-Compatible" content="IE=edge" />要在hack注释之前配置。

未完待续。。。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值