我要設計一個新的佈局網頁,想利用這個機會的優勢,實現一些HTML5標記。HTML5語義元素和舊瀏覽器
附帶在我腦海裏的第一件事是語義元素(NAV,標題,文章..)
檢查http://caniuse.com/#feat=html5semantic後,我注意到,IE8(及以下)不支持的元素。 這可能意味着我無法設計預期一致結果的語義元素。
網站收到來自IE7/8瀏覽器相當多的流量,我不知道如何着手。 我聽說modernizr和html5shiv,但我不知道現在最好的標準是什麼..
我要設計一個新的佈局網頁,想利用這個機會的優勢,實現一些HTML5標記。HTML5語義元素和舊瀏覽器
附帶在我腦海裏的第一件事是語義元素(NAV,標題,文章..)
檢查http://caniuse.com/#feat=html5semantic後,我注意到,IE8(及以下)不支持的元素。 這可能意味着我無法設計預期一致結果的語義元素。
網站收到來自IE7/8瀏覽器相當多的流量,我不知道如何着手。 我聽說modernizr和html5shiv,但我不知道現在最好的標準是什麼..
因爲您只是在尋找一種方法來設計HTML5元素的樣式,所以請使用HTML5Shiv(專爲此目的而設計)。 Modernizr包含更多功能。你不打算使用(由問題來判斷)。
這裏的源代碼,如果你想知道:https://github.com/aFarkas/html5shiv/blob/master/src/html5shiv.js
你可以(也應該?)使用它們。請確保它們在舊版瀏覽器中顯示正常,我推薦html5shiv。
http://code.google.com/p/html5shiv/
在這裏,我們用它:Midlands Health Network
你可以樣式。您只需運行HTML5shiv或Modernizr即可。您還需要添加一些CSS,以使其在默認情況下被阻止。
article, header, nav, section, footer
{
display: block;
}
有沒有需要手動添加使用HTML5Shiv或Modernizr的時候默認的風格,因爲他們已經增加(見[HTML5Shiv的源代碼(https://github.com/aFarkas/html5shiv/blob/master/src/html5shiv的.js#L209),Modernizr的[包括HTML5Shiv](https://github.com/Modernizr/Modernizr/blob/master/modernizr.js#L998))。 – 2012-07-26 10:31:25
@RobW夠了。我很習慣這樣做,我不再考慮它了(它在我的reset.css文件中)。不錯,但是。 :) – 2012-07-26 10:35:39
有沒有辦法讓IE的舊版本認識到除了通過客戶端腳本的新元素。如果你認爲非JavaScript的使用是可以忽略的,你可以使用其他答案中提到的一些工具,或者你可以自己做 - 技術很奇怪,但根本不是火箭科學。
<script>
document.createElement('nav');
document.createElement('header');
document.createElement('article');
</script>
更健壯的解決方案是使用div
標記與class
(或id
)屬性,除了使用新的元件,例如
<nav><div="nav">...</div></nav>
並使用類別(或ID)選擇器如.nav
設置您的樣式。這將是強大的,它也可以給你使用據稱的語義標記,如nav
的好處。 (沒有實實在在的好處曾經被提出,但也許有些人會出現。)
不要忘了在這裏接受一個答案(和你的其他問題),如果他們解決(d)你的問題。低「接受」率最終會阻止用戶回答您的問題。 – 2012-07-27 19:20:08