网站地图    收藏   

主页 > 前端 > html教程 >

浅谈IE678兼容问题

来源:未知    时间:2018-06-15 00:07 作者:小飞侠 阅读:

[导读] 随着技术日新月异的发展,我以为已经可以完全甩掉ie浏览器,驰骋在新技术的海洋里。却不想,ie兼容问题如影随行。 当然,尝试解决ie浏览器兼容问题,并不代表我会去拥护它。我想...

随着技术日新月异的发展,我以为已经可以完全甩掉ie浏览器,驰骋在新技术的海洋里。却不想,ie兼容问题如影随行。


当然,尝试解决ie浏览器兼容问题,并不代表我会去拥护它。我想做的只是为解决浏览器兼容提供一些个人思路,毕竟,很多公司还会有此类的需求。


一、明确你要兼容的浏览器范围

很简单,当你明确了要兼容的浏览器范围,不需要兼容的浏览器就可以一并处理了。例如:直接弹出提示,指引用户下载chrome,firefox等现代浏览器。简单粗暴,但却有效。


那么我们如何去过滤呢,这时候,条件注释就可以上场了,用法如下:


<!--[if !IE]> 除IE外都可识别 <![endif]-->
<!--[if IE]> 所有的IE可识别 <![endif]-->
<!--[if IE 6]> 仅IE6可识别 <![endif]-->
<!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->
<!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->
<!--[if IE 7]> 仅IE7可识别 <![endif]-->
<!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]-->
<!--[if IE 8]> 仅IE8可识别 <![endif]-->
<!--[if IE 9]> 仅IE9可识别 <![endif]-->

符号解释:

!(非):[if !IE]
lt(小于):[if lt IE 6]
lte(小于或等于):[if lte IE 6]
gt(大于):[if gt IE 8]
gte(大于或等于):[if gte IE 9]
&(与):[if (gt IE 6)&(lt IE 8)]
|(或):[if (IE 6)|(IE 7)]


嗯,不错,一大半的负担被卸掉了。


因为我足够幸运,只需要解决ie9浏览器的兼容问题。所以,可以这么写:


<!--[if lte IE 8]><script src="/zh/assets/js/ie-warning.js"></script><![endif]-->


js中设置了cookie和url重定向,引导用户去下载chrome浏览器,这里就不细说了。


当然,兼容问题哪有这么容易就搞定的,我们继续往下走~


二、检查页面中的伪类和伪元素

这里还是以ie9示例,下面列出ie9对伪类的支持情况:


//ie9不支持的伪类和伪元素
:default
:valid
:invalid
:in-range
ut-of-range
:required
ptional
:read-only
:read-write
::before
::after
::first-letter
::first-line
::value
::choices
::repeat-item
::repeat-index


http://jartto.wang/2016/12/06/talk-about-ie-compatible-over-again/




自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论