当前位置:  开发笔记 > 编程语言 > 正文

如何正确使用HTML5shiv ...如何在IE 9,Firefox,Safari上工作?

如何解决《如何正确使用HTML5shiv如何在IE9,Firefox,Safari上工作?》经验,为你挑选了2个好方法。

shiv脚本仅在IE中使用(在这种情况下小于版本9 [... lt IE9 ...]),不在其他浏览器中使用,被它们忽略.它毕竟是评论出来的

 

IE支持这些并读取它们.shiv脚本增强了功能,使这些旧浏览器"更好".

更新:看起来"lt IE9"也在Safari 4.x和FF 3.x中运行.从我能找到的(全部克隆自GitHub项目描述).

另一个更新:我有信心这只适用于IE,而不是旧的Safari或FireFox.我会继续挖掘.如果我错了,别人会纠正我.



1> Christopher ..:

shiv脚本仅在IE中使用(在这种情况下小于版本9 [... lt IE9 ...]),不在其他浏览器中使用,被它们忽略.它毕竟是评论出来的

 

IE支持这些并读取它们.shiv脚本增强了功能,使这些旧浏览器"更好".

更新:看起来"lt IE9"也在Safari 4.x和FF 3.x中运行.从我能找到的(全部克隆自GitHub项目描述).

另一个更新:我有信心这只适用于IE,而不是旧的Safari或FireFox.我会继续挖掘.如果我错了,别人会纠正我.



2> Chuck Le But..:

旁注:您仅应将类似的浏览器统计信息作为非常宽松的指南。这些站点的统计数据远非福音,并且会因国家/地区,市场与市场,人口与人口而变化。您应该查看自己网站的分析,并查看有多少用户属于Safari 4,FireFox 3,Internet Explorer 6-8类别(我想这将是很多不足2.3%)。

(还要记住,FireFox会自动更新自身,并且当前版本为43(!),而Safari随OSX自动更新,并且版本为9。人们仍然使用旧版本的可能性非常小。我检查了一个非常受欢迎的产品我的分析网站:在过去一个月的20,000个会话中,只有1个使用FF3,1个使用IE7,1个使用IE8,没有使用Safari 4或IE6。)


但是,如果您希望将这些异常值作为目标,则以下是对您的问题的答案:

当条件注释用于[if lt IE 9]IE8及以下版本时,html5shiv如何在IE9上工作

HTML5shiv不适用于IE9,因为它不需要。Internet Explorer 9已经正确支持几乎所有HTML5元素:

Safari 4.x和Firefox 3.x会读取IE条件注释吗?

Safari和FireFox不支持IE条件注释,但可以像这样定位它们:

FF3:

/* FireFox 3 */
html>/**/body .selector, x:-moz-any-link, x:default { color: lime; }

苹果浏览器:

/* Safari only override */     
::i-block-chrome,.myClass {      color: lime;     }

但这不是HTML5shiv所做的,您是对的: HTML5shiv主页上显示的条件语句不会被FF3或Safari 4吸收为当前状态。我猜这是因为他们认为这些浏览器非常罕见,以至于普通用户不值得。另外,无论如何,任何CSS重置/规范化都可能会包含那些浏览器所需的CSS。

因此,要遍历如何在上述所有浏览器中处理HTML5元素:

IE6-8:按照其Github文档中所述使用HTML5shiv.js 。

IE9-11:使用Normalize.css或添加main { display: block }到HTML中。(感谢LGSon。)

Safari 4:使用Normalize.css或以下CSS:

article, aside, details, figcaption, figure, main,
footer, header, hgroup, menu, nav, section {
    display: block;
}

FireFox 3:与上述相同。

(FireFox 4+和Safari 5+具有更强大的HTML5支持,不需要上述CSS。)

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有