HTML5标签不是块级元素吗?

Vee*_*era 4 html css html5

如果我有一个HTML元素<header>并通过CSS将一些边距应用于此HTML5元素:

header{
  margin:10px 0;
}
Run Code Online (Sandbox Code Playgroud)

<header>元件不从元件的其余部分隔开的10像素.但如果我修改我的CSS规则如下:

header{
  margin:10px 0;
  display:block;
}
Run Code Online (Sandbox Code Playgroud)

然后<header>元素相应地间隔开.

所以,我的问题是,我是否需要手动设置display:block;才能将边距/填充设置为HTML5元素,比如<header>

PS:澄清一下,这不是生产代码/实时网站的一部分.我只是在试验HTML5标签.:)

med*_*iev 6

该规范似乎header列为块级元素,http://www.whatwg.org/specs/web-apps/2007-10-26/multipage/section-documents0.html#block-level0

但由于HTML5尚未最终确定,因此用户代理供应商不会自动使其成为块级别是可以理解的.所以你应该制定一个规则来设置那些被规范定义为块的html 5元素display:block;.