如果我只需要較舊的瀏覽器識別HTML5標籤,應該使用哪些標籤,Modernizr或流行的HTML5 shiv? 另外,如果我不需要設計HTML5標籤的樣式,我是否需要瀏覽器來識別它們?或者只有在向這些標籤添加CSS時是必要的?Modernizr vs HTML shiv
謝謝!
如果我只需要較舊的瀏覽器識別HTML5標籤,應該使用哪些標籤,Modernizr或流行的HTML5 shiv? 另外,如果我不需要設計HTML5標籤的樣式,我是否需要瀏覽器來識別它們?或者只有在向這些標籤添加CSS時是必要的?Modernizr vs HTML shiv
謝謝!
html5shiv基本上允許IE識別和設置HTML5元素的樣式,而Modernizr提供了同樣支持的功能。
所以要回答你的問題HTML5 shiv應該足以識別IE中的HTML5標籤。 (注意我在這裏說IE,因爲這是html5shiv的目標,不知道你說的是什麼意思,當你說老瀏覽器)
對於第二部分,即使你不想風格的HTML5標籤,我會建議使用shiv,因爲瀏覽器可能不正確地顯示它們,或根本不顯示,所以最好是安全的。
HTML5 Shiv較小,除非您需要Modernizr的某些檢測功能,否則請使用shiv。
文件的大小非常重要,因爲它始終在html文檔的頭部,並阻止下載其他資源,直到完全執行。
,因爲它只需要舊的瀏覽器,我使用下面的代碼:
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
您可以刪除不使用的HTML標記,但隨後你將無法使用該文件在託管谷歌。
這_detection_提供給我什麼?我只寫html和Js。並且它假設將樣式應用於所有元素(包括html5的元素),那麼「檢測」是什麼意思?你能舉個例子嗎? –
如果瀏覽器支持特定的CSS或HTML5功能,您可以使用Modernizr加載特定的文件。
讓我們說,如果瀏覽器不支持「畫布」作爲HTML5元素和「fontface」作爲CSS3屬性
Modernizr.load({
test: Modernizr.fontface && Modernizr.canvas, // Test if the browser supports it or not
yep : '/path-to/html5-css3-attributes.css', // If browser supports it, load this file
nope: '/path-to/old-css-attributes.css' // If NOT, load this instead
});
您可以使用.js文件也文件路徑條件。
您只需要HTML5 shiv即可通過CSS爲html5標籤添加樣式。此外modernizr包括HTML5 shiv所以它是一個超集 – Raynos
我會添加Modernizr是更多檢測HTML5 **功能**(如音頻格式,CSS樣式規則,本地存儲...),而不是HTML5標籤支持 –