1

所以我遇到了 HTML5 分段元素的问题。看来我必须创建容器,否则它们不是块级的。我确实添加了一个 CSS 重置,所以我不知道这是否是导致它的原因。不知道我是否应该把我的完整代码放进去。我想确保它没有我不需要的额外代码。

无论如何,这里是 html5 的一部分:

<div class="wrapper"><nav><ul>
<li><a href="#">About</a></li>
<li><a href="#">Gallery</a></li>
<li><a href="#">Content</a></li>
</ul>
</nav>
</div>

如果我没有该包装器,无论出于何种原因,它都不会将其视为块引用。

4

1 回答 1

1

支持 HTML5 语义元素的浏览器的最小版本:IE 9、Firefox 4、Chrome 8、Safari 5、Opera 11.1、Safari iOS 4、Android 2.1。

如果您使用的是旧版浏览器,浏览器会将所有无法识别的元素构建为内联元素。要解决此问题,您只需在 CSS 中添加一条新规则:

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

此 CSS 规则不会对识别 HTML5 的浏览器产生负面影响,因为属性 'display' 已设置为 'block'。

旧版本的 IE (<9) 还有另一个问题。他们拒绝将 CSS 规则格式应用于他们无法识别的元素。要解决这个问题:

<script>
    document.createElement('article');
    document.createElement('aside');
    ...
    document.createElement('section');        
</script>

或者,如果您不想为所有元素编写代码,则可以使用此脚本:html5shiv.js。此外,您还会感兴趣:Modernizr

于 2013-02-21T00:52:03.227 回答