首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Modernizr vs HTML shiv

Modernizr vs HTML shiv
EN

Stack Overflow用户
提问于 2011-11-26 09:16:40
回答 3查看 15.4K关注 0票数 15

如果我只需要较老的浏览器来识别HTML5标记,我应该使用哪个,Modernizr还是流行的HTML5 shiv?另外,如果我不需要设置这个HTML5标记的样式,我还需要浏览器识别它们吗?或者只有在将CSS添加到这些标记时才有必要?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-26 09:49:31

html5shiv基本上允许IE识别和样式化HTML5元素,而现代提供了浏览器支持的相同的外加功能检测。

因此,要回答您的问题,HTML5 shiv应该足以识别IE中的HTML5标记。(注意,我在这里说IE是因为它是html5shiv的目标,我不确定你说的旧浏览器是什么意思)

对于第二部分,即使您不想设置HTML5标记的样式,我也建议使用shiv,因为浏览器可能不正确地显示它们,或者根本不显示它们,所以最好是安全的。

票数 17
EN

Stack Overflow用户

发布于 2011-11-26 10:11:16

HTML5 shiv更小一些,除非你需要现代的一些检测功能,否则就选择它吧。

文件的大小非常重要,因为它总是在html文档的头部,并且在完全执行之前阻止下载额外的资源。

由于它只适用于较旧的浏览器,因此我使用以下代码:

代码语言:javascript
复制
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

您可以删除不使用的html标记,但这样您将无法使用Google托管的文件。

票数 11
EN

Stack Overflow用户

发布于 2013-09-07 11:26:50

如果浏览器支持特定的CSS或HTML5功能,也可以使用现代工具来加载特定的文件。

假设浏览器不支持'canvas‘作为HTML5元素,不支持’CSS3‘作为字体属性

代码语言:javascript
复制
Modernizr.load({
test: Modernizr.fontface && Modernizr.canvas, // Test if the browser supports it or not
yep : '/path-to/html5-css3-attributes.css',  // If browser supports it, load this file
nope: '/path-to/old-css-attributes.css' // If NOT, load this instead
});

您也可以在您的文件路径条件下使用.js。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8275580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档