【问题标题】:html5shiv doesn't work with IE7html5shiv 不适用于 IE7
【发布时间】:2014-05-14 04:51:09
【问题描述】:

我需要 html5 脚本才能被 IE7 打开。

我确实在 HTML 文件中的 <head> 脚本上输入了一个脚本来调用 html5shiv.js

这是我的 HTML 代码:

<head>
  <!--[if IE]>
<link rel="stylesheet" type="text/css" href="css/style_ie.css" />
<script type="text/javascript" src="js/html5shiv.js"></script>
  <![endif]-->
</head>

我试图在标签&lt;header&gt; 上设置一个按钮的样式,如下所示:

HTML:

<header>
<input type='submit' value='LOGIN'>
</header>

CSS:

header input[type=submit]{
    background:url('../images/btn_login.png')repeat-x; 
    color:white;
}

这仍然不起作用,我不知道错误在哪里?是 html5shiv 调用者的错误还是某些语法错误?

注意:不允许使用像 .Something 这样的 CSS 类

【问题讨论】:

  • style_ie.css 之前包含html5shiv
  • @Vucko,把它作为答案发布——这是正确的答案。

标签: css html internet-explorer html5shiv


【解决方案1】:

包括html5shiv.js 之前 style_ie.css:

<head>
  <!--[if IE]>
    <script type="text/javascript" src="js/html5shiv.js"></script>
    <link rel="stylesheet" type="text/css" href="css/style_ie.css" />
  <![endif]-->
</head>

【讨论】:

    【解决方案2】:

    将其作为类示例

    .btn 
       {
       background:url('../images/btn_login.png')repeat-x;
       color:white;
       }
    

    并在 html 中用作

    <header>
    <input type='submit' value='LOGIN' class='btn'>
    </header>
    

    【讨论】:

    • 请注意,header 和 head 是两个不同的东西(后者是为 head 保留的)
    • 不允许同一用户的两个答案,如果您有更好的解决方案,那么您应该修改您的答案。这就是这里提供EDIT 选项的原因。
    【解决方案3】:

    Internet Explorer 7 对attribute selector 的支持存在漏洞。为防止此问题,如果您可以创建 class 然后将其应用于输入标签,那就太好了。我希望它可以在 IE7 甚至 IE6 上运行。

    新解决方案

    你必须像这样分别调用html5shiv.jsCSS file

    <!--[if lt IE 9]>
    <script type="text/javascript" src="js/html5shiv.js"></script><![endif]
    -->
    
    <!--[if lt IE 9]>
    <link rel="stylesheet" type="text/css" href="css/style_ie.css" />
    <![endif]-->
    

    较旧的解决方案

    <input type='submit' value='LOGIN' class='myClass'>
    

    CSS 将是

    .myClass{border:1px solid red;}
    

    【讨论】:

    • 这确实有帮助,但不允许使用 CSS 类,我必须通过标题输入进行样式设置[type=submit]{ }
    • 让我们试试这个。我在这里指定检查低于 9 版的 IE。另外,请将此脚本粘贴到 &lt;/head&gt; 标记之前。 &lt;!--[if lt IE 9]&gt;&lt;script type="text/javascript" src="js/html5shiv.js"&gt;&lt;/script&gt;&lt;![endif]--&gt;
    【解决方案4】:

    IE7不支持HTML文件的这个属性所以不能使用header input[type=submit]{ }

    我需要为 ie7 创建类并检查浏览器是否小于 IE8 然后调用该类。

    【讨论】:

      猜你喜欢
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      相关资源
      最近更新 更多