兼容早期浏览器

课后整理 2021-3-2

现代浏览器原生支持HTML5新增结构元素。从样式的角度来说,这意味着浏览器将为这些新的元素应用默认样式。例如,article、footer、header、nav 以及其他一些元素显示为单独的行,就像div、blockquote、p 以及其他在HTML5 之前的版本中称做块级元素。

第1步,大部分浏览器允许对它们并不原生支持的元素添加样式,样式代码如下:

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

大多数浏览器默认将它们无法识别的元素作为行内元素处理。因此这一小段CSS 将强制HTML5 新语义元素显示在单独的行。

提示,如果使用CSS 重置或normalize.css,可以跳过这一步,它们会包含这里的代码。

第2步,会忽略它们不原生支持的元素的CSS。HTML5 shiv 是专门用于解决这一问题的一段JavaScript。在每个页面的head 元素(注意不是header 元素)中添上面代码,实现在IE 9之前的IE中为新的HTML5 元素设置样式。

<!--[if lt IE 9]>
    <script src="js/html5shiv.js"></script>
<![endif]-->