最近又开始忙了,项目中又遇到了可恶的IE Hack问题,各种Hack的看着让自己都觉得恶心,于是决定改造一番. 首先请出条件注释语句: 之前用过的条件注释 <!--[if lt IE 7]><body class="ie6"><![endif]--> <!--[if IE 7]><body class="ie7"><![endif]--> <!--[if IE 8]><body…
一.科普IE条件注释 IE条件注释功能是条件注释是IE特有的一种功能,能对IE系列产品进行单独的XHTML代码处理,注意,主要是针对XHTML,而非CSS.条件注释功能非常强大,可以进行true和false判断.  最大好处:IE条件注释 属于微软官方给出的兼容解决办法而且还能通过W3C的效验. ***  上个栗子: <!--[if IE 8]> <link type="text/css" rel="stylesheet" href="m…
最近的项目中,因为需要兼容IE7,IE8,IE9,解研究了IE的条件注释,顺手写下来备忘.  HTML中的IE条件注释 IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解.比如普通的HTML注释是: 简而言之,除了“Windows上的IE”之外的所有浏览器都会认为条件注释只是一段普通的HTML注释. 你不能在CSS代码中使用条件注释.IE条件注释是很有用的对IE隐藏或者展现特定代码的方法,比起在CSS中用诡异的_/制造bug,利用IE条件注释来写CSS “hacks”…
//利用原生Js获取操作系统版本function getOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows"); var isMac = (navigator.platform == "Mac68K") || (navigator.platform ==…
function getOsInfo() { var userAgent = navigator.userAgent.toLowerCase(); var name = 'Unknown'; var version = "Unknown"; if(userAgent.indexOf("win") > -1) { name = "Windows"; if(userAgent.indexOf("windows nt 5.0"…
CSS hack 由于不同厂商的浏览器,比如 Internet Explorer,Safari,Mozilla Firefox, Chrome 等,或者是同一厂商的浏览器的不同版本,如 IE6 和 IE7,对 CSS 的解析认识不完全一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果.这个时候我们就需要针对不同的浏览器去写不同的 CSS,让它能够同时兼容不同的浏览器,这便是 CSS hack. 简单的说,CSS hack 的目的就是使你的 CSS 代码兼容不同的浏览器.当然,我们也…
本文翻译自此篇文章.翻译纯属业余. 许多网站为了确保他们的站点能够在不同的浏览器上有不同的显示效果而使用特征检测,一些传统的网站使用其他技术,诸如在服务器或客户端上使用脚本去检测浏览器类型.在这里我们引入比使用脚本检测浏览器更有优势的方法--条件注释.条件注释可以轻易地更早发现早期的IE版本.条件注释是层叠样式表(CSS)用于区分IE特定版本的首选方式. 重要提示 自IE10起,标准模式不再支持条件注释.而是采用特征检测给浏览器不支持的功能来提供备用策略.有关标准模式的详细信息,请参阅定义文档兼…
lt,lte,gt,gte分别表示什么 lt:小于当前版本 lte:小于或等于当前版本,包括本身 gt:大于当前版本 gte:大于或等于当前版本,包括本身 使用格式 // 如IE9以下(不包括IE9加载此js) <!--[if lt IE 9]> <script src="http://api.html5media.info/1.1.8/html5media.min.js"></script> <![endif]--> // 其他条件注释…
前面的话 本文中所有IEx+代表包含x及x以上:IEx-代表包含x及x以下,仅个人习惯.例:IE7+代表IE7.IE8…… 本文中所有例子全部经过测试,欢迎交流. HTML识别 条件注释法(IE10+已经不支持条件注释) [注意]两个--和左中括号[之间不能有空格,否则无效 [1]IE9-(<!--[if IE]><![endif]-->) <!DOCTYPE html> <html lang="en"> <head> <…
IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解.比如普通的HTML注释是: <!--This is a comment--> 而只有IE可读的IE条件注释是: <!--[if IE]> <![endif]--> “非IE条件注释”: <!--[if !IE]>--> non-IE HTML Code <!--<![endif]--> “非特定版本IE条件注释”(很少用到): <!--[if ! l…