- From: Kang-Hao (Kenny) Lu <kanghaol@oupeng.com>
- Date: Wed, 05 Sep 2012 15:47:13 +0800
- To: W3C HTML5 中文興趣小組 <public-html-ig-zh@w3.org>
www-style 上一位 Google 的前端又[1]提議了一次在 CSS 裡加上 //-單行註解 [2]。這種提案基本上實作的成本非常低,所以基本上反駁的論點就是: 一、跟 CSS 最小化等等處理工具不兼容 有不少 CSS 最小化工具會把換行符換成空格,造成 // 註解 background: 0; border: 0; 轉成 // 註解 background: 0; border: 0; 造成支援 //-註解 的瀏覽器裡兩個宣告被覆蓋掉,也就是說支援 //-註解 的瀏覽 器看到這個東西變成一個壞掉網站的可能性比較高,也造成瀏覽器開發者不願意支 援這樣的東西(因為*使用者看到壞掉的網站很可能會換瀏覽器*)。 不要以為這種事不會發生,在整個網站更換 CSS 最小化工具的時候,如果本來有 用 //-註解 的網頁但是沒有注意到的情形,就可能會有這樣的結果。另外,網頁 作者也不見得會去測試太新的瀏覽器、、、 另外有人提到用正則做的 CSS 最小化工具,會把 url(http://example.com/) 的 //... 當成註解,不過如果這樣也有問題的話,在檔案名稱開頭是星號的情形: url(path/*file*) 中,這種最小化工具早就有問題了(雖然出現這種狀況的可能性非常小)。 (註:在 CSS 2.1 中 /*file* 是 URI token [3]的一部分,所以不會變成 COMMENT token 的開頭。) 二、跟既有網站不兼容 這種不兼容大概是在 div { border: 0; // 一些註解 width: 0; /* 亂搞 */ } 這種情形,就是說現在之所以網站沒有壞是因為「// 一些註解」把 'width: 0' 概念了,如果開始支持 //-註解 的話,反而會出現整個網站不能用的悲劇。 有網頁作者說「從沒看過 CSS 裡出現 //-註解」,也有瀏覽器 QA 說常常看到這 樣的東西。 總之,各說各話也對吵這兩個論點沒什麼實質幫助。我開了一個資料收集頁面 [4],有興趣幫忙的朋友可以來填一下你用的 CSS 最小化工具的情形。向後兼容的 調查有點像阿菲之前做的那個,不過這次 1) 不用特別去蒐集某些頁面,用人家蒐 集到的就好 2) 不需要寫腳本分析,grep 一下就好。 [1] 這個提案已經之前已經提過三、四次了,應該是 www-style 上繼父元素選擇 器之後最常被提出的提案... [2] http://lists.w3.org/Archives/Public/www-style/2012Aug/thread#msg622 [3] http://www.w3.org/html/ig/zh/wiki/CSS2/syndata#uri0 [4] http://www.w3.org/html/ig/zh/wiki/css-double-slash-comment 以上 Kenny -- Web Specialist, Oupeng Browser, Beijing Try Oupeng: http://www.oupeng.com/
Received on Wednesday, 5 September 2012 07:50:13 UTC