mozilla

應該避免的過時語法

介紹

許多人藉由觀看原始碼,並且複製並貼上來學習 HTML、CSS 及 JavaScript。然而他們並沒有思考,其來源是否經過充分驗證。他們或許延續了一些過去必要,但現在不需要的程式慣例。此頁即是要列出這些隨著時間,變得不必要、或不好的程式語法。

Doctype

總共大概有十種 (X)HTML文件類型描述 (doctype),他們之間的差異非常細微(甚至沒差別),我們建議你使用以下 HTML5 的文件類型宣告:

<!DOCTYPE html>

如此會觸發所有瀏覽器使用標準模式(甚至包含 Internet Explorer 6)。

<meta> 元素與 charset 屬性

如果發現以下原始碼是不正常的:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

然而,如果你把它縮減成以下這樣,所有的瀏覽器都會認定為相同的:(甚至包括Internet Explorer 6)

<meta charset="UTF-8" />


這些知識已經藉由 逆向工程(reverse engineering) 和 實用主義(pragmatism) 獲得並使用他。

不存在的 <meta> 元素

許多被棄用或不標準及不在使用的值仍然被複製從一個頁面到另一個頁面。

特別是以下,不要去使用到:

  • <meta name="MSSmartTagsPreventParsing" content="true">    
  • 這個只有在其中一個 beta 版的 Internet Explorer 6是有用處的。
    這個 beta 版不再被使用而且此版本的特色聰明標籤也都已經被移除並不在回復回來。
  • <meta name="robots" content="all">.如果一個機械值存在且它是完美合法的,不要去使用不存在的值,像是all。 默認情況下建議使用像 all 不存在的值像是 index , follow 這些基本的元素。只要移除掉整個  <meta> 即可。
  • <meta name="copyright" content="…">. 這個 meta 並不存在。移除它並創造一個版權頁面或版權格藉由 rel="copyright" 值讓它連結到使用中的 <link> HTML 元素。
  • <meta name="rating" content="…">. 這個 meta 並不存在。只要移除整個 <meta> 即可。

在腳本裡的 HTML 建議

曾經有一段時間有些瀏覽器了解<script>標籤,但有些則無。

這導致瀏覽器呈現成被解釋為腳本的文字檔。

一個自然的想法使腳本成為 HTML 建議。 這個方法就是,瀏覽器執行腳本會執行腳本,而那些不了解腳本的瀏覽器將會忽略腳本。

從這個時代起,我們繼承這些事物像是:

<script>
<!--
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "bla.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
//-->
</script>

或者是:

<script type="text/javascript">
<!--//--><![CDATA[//><!--
Blabla.extend(MyFramework.settings, { "basePath": "/" });
//--><!]]>
</script>

如今,所有這些全部都是無用的,甚至瀏覽器都不去執行腳本而忽略<script>標籤。

只要用<script>標籤在開頭和結尾之間寫腳本。

更好的話,藉由src的屬性把你的腳本輸入成分開的檔案 ; 如果你在寫腳本,試試看  HTML5 asyncdefer 屬性。

 

不應該再被使用的元素

 

font

這個 font 標籤不應該再被使用。

CSS 比較傾向去控制針對標籤或ID/Class屬性元素的排版外觀。

b, i, u

這個趨向是是一個比較爭論性的位元,但是當有相關的時候,盡量試著去使用個別的  <strong>,<em><span> 和 CSS (text-decoration:underline) 。

慎重的去選擇哪一個元素該使用。

有些以發展為導向的頁面勸告以簡單的<b>

去取代 <strong><i> 去取代

<em>. 這是一個去遵循此建議的不好想法。 <strong> 對於statements是相當重要的 , 而 <em> 則是相反強調的文字。舉例來說,使用 <em> 去簡化完成斜體是個不好的想法; 在你的CSS頁面,斜體, 沒有強調的文字可以被完成藉由使用font-style:italic 。類似的事情,書的標題和藝術作品傳統上都被轉成斜體,但是相對於 <em><i> <cite> 元素,在些項目中使用提供了更語意修飾。

Document Tags and Contributors

Contributors to this page: irvinfly, slhuang
最近更新: irvinfly,