武林網(wǎng)(www.survivalescaperooms.com)文章簡(jiǎn)介:博客早就轉(zhuǎn)用 HTML5 的寫法, 但苦于很多用戶沒有用最新的瀏覽器, 一直還在用 HTML4 的標(biāo)簽集。 HTML5 很多標(biāo)簽語(yǔ)義化強(qiáng)而且實(shí)用, 我也開始嘗試一些常用的標(biāo)簽了, 現(xiàn)在用上了 article 和 time 標(biāo)簽。
HTML5 向開發(fā)人員提供了很多新的標(biāo)簽, 如 section, nav, article, header 和 footer 等。 這些標(biāo)簽語(yǔ)義化程度高, 會(huì)被經(jīng)常使用, 但在 IE6, IE7, IE8 和 Firefox 2 等老式瀏覽器中不能識(shí)別和正常使用。
為什么老式的瀏覽器不能識(shí)別這些標(biāo)簽?
其實(shí)錯(cuò)不在瀏覽器, 因?yàn)樵谀莻€(gè)時(shí)代根本不存在這種標(biāo)簽, 所以不能正確識(shí)別出來, 而這種不尋常的標(biāo)簽識(shí)別令 DOM 結(jié)構(gòu)變得異常。
我們有測(cè)試代碼如下。 是一個(gè)文章標(biāo)題和藍(lán)色字的文章內(nèi)容, 其中文章內(nèi)容用了 article 標(biāo)簽。
<!DOCTYPE html>在 IE8 中, 顯示如下。
IE8 不能識(shí)別 article 標(biāo)簽, 定義在標(biāo)簽上的 CSS 樣式?jīng)]有起作用。 在 IE8 中,<article> 被解釋成命名為 <article /> 和 </article /> 兩個(gè)空的標(biāo)簽元素, 與文章內(nèi)容并列為兄弟節(jié)點(diǎn), 如下圖。
如何在老式瀏覽器中使用 HTML5 標(biāo)簽?
既然因?yàn)椴荒茏R(shí)別標(biāo)簽而不能使用, 解決辦法就是讓標(biāo)簽被識(shí)別出來。 所幸, 簡(jiǎn)單地通過document.createElement(tagName) 即可以讓瀏覽器識(shí)別標(biāo)簽和 CSS 引擎知道該標(biāo)簽的存在。 假設(shè)我們上面的例子的 <head> 區(qū)域加上如下代碼。
<script>IE8 中的 DOM 解釋就會(huì)變成下圖所示。
自然, 文字也顯示成正常的藍(lán)色。
結(jié)語(yǔ)
博客早就轉(zhuǎn)用 HTML5 的寫法, 但苦于很多用戶沒有用最新的瀏覽器, 一直還在用 HTML4 的標(biāo)簽集。 HTML5 很多標(biāo)簽語(yǔ)義化強(qiáng)而且實(shí)用, 我也開始嘗試一些常用的標(biāo)簽了, 現(xiàn)在用上了 article 和 time 標(biāo)簽。
新聞熱點(diǎn)
疑難解答