2008/11/23

<!-- 註解的使用 -->

<!-- --> 用來標示註解說明。註解以 <!-- 開始,以 --> 結尾;註解是給網頁製作人或維護人看的,不是給用戶看的,註解的文字不會展現。

為什麼要有註解?因為網頁製作之後,可能會發生員工離職,換人接手的情形;這時前人的註解寫的好不好,就有幫助了。這在寫 C++ 程式或其它語言程式時,是理所當然的事;可是遇到了網路就變得複雜了。使用註解的代價是,註解會傳輸給用戶電腦,所以會佔用你花錢買來的頻寬;可是用戶電腦卻不會展現出來,因為註解的內容與用戶無關。所以你必須評估傳輸註解花了你多少錢,然後決定要如何使用註解。

如果你使用 PHP 製作網頁,你可以將網頁的註解寫在 PHP 區塊內,如此一來,註解就在服務主機上略過了,而不會傳輸。

  • 執行之後,註解沒有顯示出來。

註解中的條件式(Conditional Comment)。這是微軟為 IE 瀏覽器發展出來的語法,主要用在分辨不同的 IE 版本,然後加上不同的 HTML 內容。也常用在 CSS hack。Firefox, Safari, Chrome 沒支援註解條件式,整個區塊視為註解。註解條件式有兩種寫法:

  1. <!--[if 條件式]> HTML 內容 <![endif]-->:此區塊會被低於 IE5 的瀏覽器忽略;IE5 及高於 IE5 的瀏覽器會在條件式為真時,解讀其中的 HTML 內容。
  2. <![if 條件式]> HTML 內容 <![endif]>:此區塊會被低於 IE5 的瀏覽器解讀;IE5 及高於 IE5 的瀏覽器會在條件式為真時,解讀其中的 HTML 內容。

條件式中可用的指令有:

  1. IE:瀏覽器名稱,只支援 IE;Firefox, Safari, Chrome 都不支援。例句 [if IE],使用中的瀏覽器為 IE 時為真(true),否則為假(false)。
  2. 數值:用整數或浮點數表示版本。例句 [if IE 6],使用中的瀏覽器為 IE6 時為真,否則為假。
  3. !:邏輯 NOT,表示否定布林值。例句 [if !IE]。這個例句沒有意義,因為非 IE 瀏覽器看不懂註解條件式。
  4. lt:小於。例句 [if lt IE 7],使用中的瀏覽器其版本小於 IE7(不含 IE7)時為真,否則為假。
  5. lte:小於等於。例句 [if lte IE 7],使用中的瀏覽器其版本小於 IE7(包含 IE7)時為真,否則為假。
  6. gt:大於。例句 [if gt IE 7],使用中的瀏覽器其版本大於 IE7(不含 IE7)時為真,否則為假。
  7. gte:大於等於。例句 [if gte IE 7],使用中的瀏覽器其版本大於 IE7(包含 IE7)時為真,否則為假。
  8. ( ):用來區別子條件式,內層的括號有較高的優先權。例句 [if !(IE 7)]。
  9. &:邏輯 AND。例句 [if (lt IE 7) & (gt IE 5.5]。
  10. |:邏輯 OR。例句 [if (lt IE 7) | (gt IE 5.5]。
  11. true:例句 [if true]。
  12. false:例句 [if false]。
  • 上例在 Firefox, Safari, Chrome 一律視為註解,沒有展現。在 IE6 會有符合條件的輸出。

用在 CSS hack。可以用來讀入外部風格檔:

<!--[if IE]> <link href="ie.css" rel="stylesheet" type="text/css"> <![endif]-->

或者用在風格區塊:


©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。