为什么Modernizr不为我工作?

时间:2011-07-08 13:51:50

标签: html html5 css3 modernizr

我不认为modernizr喜欢我,有人可以告诉我我做错了什么。我似乎无法使用fireiz上的现代化工具,即等...我只使用页眉,页脚和导航等元素...

这是我的代码:

<!DOCTYPE html>
<!--[if lt IE 7 ]> <html class="ie ie6 lte9 lte8 lte7 no-js"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie ie7 lte9 lte8 lte7 no-js"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie ie8 lte9 lte8 no-js"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie ie9 lte9 no-js"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class="notie no-js"> <!--<![endif]-->
  <head>
    <title></title>
    <meta name="description" content="" />
    <link href="css/main.css" rel="stylesheet" type="text/css" /> 

    <script src="modernizr-2.0.6.min.js"></script>

    <script type="text/javascript" src="http://use.typekit.com/kmy1sfb.js"></script>
    <script type="text/javascript">try{Typekit.load();}catch(e){}</script>

  </head>

检查firebug它输出正常,我得到了我应该的所有元素,但没有一个元素正在工作......

例如,如果我在firebug中单击标题并将CSS高度编辑为5000px则不会移动,对齐等也不正确。

2 个答案:

答案 0 :(得分:12)

您可能忘记将新的HTML5元素设置为块级元素。默认情况下,浏览器将任何未知元素视为内联元素(display:inline),这使得很难对它们做很多事情。

较新的浏览器正在慢慢将新的HTML5元素视为稳定,这意味着他们开始为display:block元素提供类似header的默认样式。但是,目前市场上的大多数浏览器都没有HTML5元素的默认样式,因此您需要提供它们。

以下是CSS的快速示例:

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

将CSS添加到main.css应该可以解决样式问题。

答案 1 :(得分:1)

当我尝试使用CDN并且它无法正常工作时,我遇到了同样的问题(我可能有错误的链接)。我发现的测试是放

.borderradius body {
  background: #c00;
}
在main.css中

并查看背景是否变为红色。如果它是现代化的,那就正在发挥作用。

编辑:我还发现必须在HTML文档的顶部插入脚本。如果建议更好地加载页面,将它置于底部是行不通的。