4

我不认为modernizr 喜欢我,有人可以告诉我我做错了什么。我似乎无法让modernizr在firefox上工作,即等等......我只使用像页眉,页脚和导航这样的元素......

这是我的代码:

<!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 中单击标题并将 CSS 高度编辑为 5000px,它不会移动,对齐等也不正确。

4

2 回答 2

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 应该可以解决您的样式问题。

于 2011-07-13T01:30:31.173 回答
1

我在尝试使用 CDN 时遇到了同样的问题,但它不起作用(我可能有错误的链接)。我发现的测试是把

.borderradius body {
  background: #c00;
}

在你的 main.css 中,看看背景是否变红。如果它是modernizr,正在工作。

编辑:我还发现脚本必须插入 HTML 文档的顶部。将它放在底部,如为提高页面加载速度所建议的那样,是行不通的。

于 2011-07-12T13:30:47.117 回答