語法高亮顯示(syntax highlighting)幾乎是每一個技術網站都必備的功能,比較以下兩個例子便很容易明白沒有這項功能是多麼令人懊惱的事: <DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>My Page</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8″ /> </head> <body> <h1>Heading%lt;/h1> <p>HTML source without syntax highlighting, is it easy to read?</p> </body>> </html> HTML | copy code |? 01<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">02<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">03<head>04 <title>My Page</title>05 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />06</head>07<body>08 <h1>Heading</h1>09 <p>HTML source without syntax highlighting, is it easy to read?</p>10</body>11</html>
大部分系統實現這項功能的方法都是倚靠特定的函數來加插顏色到原始碼中,例如使用一個 highlight_html($input_str) 把一段 HTML 字串加插顏色效果,這個方法違反了把表達層和運算層分開的軟件設計理念,而且這種為特定系統編寫的函數移植到其他系統也有一定的困難,而且由編程語言直接 生成 HTML 原始碼,使維護和修改顏色方案時十分困難。
Dean Edwards 利用「CSS 擴充行為 」替特別標籤的 HTML 段落進行語法增強顯示,現時 IE 和 Mozilla 系列瀏覽器均支援這些「行為」,啟用這種「行為」的步驟是:
編寫一個「行為檔」(.htc), 它基本上是一堆 JavaScript。 在 CSS 中把特定的 HTML 標籤與這個「行為檔」聯繫起來。
為了令寫給 IE 的「行為檔」也能在 Mozilla 繼續閱讀 »