Css IE不设置HTML5标签的样式(带shiv)

Css IE不设置HTML5标签的样式(带shiv),css,internet-explorer,html,Css,Internet Explorer,Html,我正在尝试设计一个,但它在IE中不起作用。我正在使用Modernizer,但我已经尝试了shiv本身 示例代码 <section> <header> <h1>Title</h1> </header> <p>Body</p> </section> 我希望在标题和部分内容周围有一个边框,但实际上只有一个看起来像“[”的边框,标题在它下面 出什么问题了?使用IE,即使使用shiv,也需

我正在尝试设计一个
,但它在IE中不起作用。我正在使用Modernizer,但我已经尝试了shiv本身

示例代码

<section>
  <header>
    <h1>Title</h1>
  </header>
  <p>Body</p>
</section>
我希望在标题和部分内容周围有一个边框,但实际上只有一个看起来像“[”的边框,标题在它下面


出什么问题了?

使用IE,即使使用shiv,也需要将HTML 5元素声明为块元素。我在Internet Explorer中使用这一行,但您可以根据需要修改它

header,nav,article,footer,section,aside,figure,figcaption{display:block}
从:

您可能还需要将其中许多元素设置为
display:block;

有时自定义元素(这就是我们说服IE使用HTML5标记的方式)默认情况下是内联的。请尝试添加以下CSS:

section,
header {
    display: block;
}

这取决于您试图强加给元素的样式。
因此,正如James Long之前所说,自定义元素默认情况下是内联的。对于IE8,您还可以通过添加
display:inline block;

@feela来为元素添加边框——您确定吗?Modernizer确实包含Shiv功能,并且它至少适用于IE8和IE7。(我们将其用于一个需要在IE7中工作的站点,这很好)。有关其作用的更多信息,请参阅此答案:@feeela不正确。我们使用此选项,它从IE7开始工作。@Spudley@Michael Irigoyen抱歉,我认为为时已晚。我自己已经在一个…
section,
header {
    display: block;
}