分節(jié)和標(biāo)題元素應(yīng)該在大部分的不支持HTML5的瀏覽器中工作。盡管不支持,但不必使用特殊的DOM接口。僅僅只需要一個(gè)特殊的CSS樣式,因?yàn)槲粗啬J(rèn)會(huì)樣式化為display:inline:
section,article,aside,footer,header,nav,hgroup{
display:block
}
當(dāng)然web開(kāi)發(fā)者可以改變上面的樣式結(jié)構(gòu),但是要記住的是在不支持HTML5瀏覽器中,這些元素默認(rèn)的樣式是與預(yù)期的樣式是不同的。還要注意的是<time>元素并沒(méi)有在這些元素中,因?yàn)槠錁邮皆诓恢С諬TML5和兼容HTML5的瀏覽器中的表現(xiàn)是相同的。
然而這種方法有自己的局限性,因?yàn)橐恍g覽器并不允許樣式化不支持的元素。這種情形出現(xiàn)在IE8及IE8以前的瀏覽器中,需要一個(gè)特殊腳本才行:
<!--[if lt IE 9]>
<script>
????document.createElement("header" );
????document.createElement("footer" );
????document.createElement("section");
????document.createElement("aside" );
????document.createElement("nav" );
????document.createElement("article");
????document.createElement("hgroup" );
????document.createElement("time" );
</script>
<![endif]-->
這段腳本表示,當(dāng)在ie8(及ie8以前)的情況下,應(yīng)該允許腳本的運(yùn)行以合適地展示HTML5分節(jié)和標(biāo)題元素。如果禁用了腳本,則不會(huì)顯示,可能會(huì)出問(wèn)題因?yàn)檫@些元素定義整個(gè)頁(yè)面的結(jié)構(gòu)。為了預(yù)防這種情況,我們需要加上<noscript>標(biāo)簽。
<noscript>
????<strong>Warning !</strong>
????Because your browser does not support HTML5, some elements are simulated using JScript. Unfortunately your browser has disabled scripting. Please enable it in order to display this page.
</noscript>
于是形成了如下的代碼,允許HTML5節(jié)段和標(biāo)題元素在不支持HTML5的瀏覽器中展示,即使是ie8(ie8以下版本)也在禁用腳本的情況下有了合適的反饋。
<!--[if lt IE 9]>
? <script>
? ? document.createElement("header" );
? ? document.createElement("footer" );
? ? document.createElement("section");
? ? document.createElement("aside"? );
? ? document.createElement("nav"? ? );
? ? document.createElement("article");
? ? document.createElement("hgroup" );
? ? document.createElement("time"? );
? </script>
? <noscript>
? ? <strong>Warning !</strong>
? ? Because your browser does not support HTML5, some elements are simulated using JScript.
? ? Unfortunately your browser has disabled scripting. Please enable it in order to display this page.
? </noscript>
<![endif]-->