Re: CSS //-爹秆︽┦╯

兼容性这种事情最麻烦。

我个人是支持加入 // 的,至于那压缩器,我觉得如果你要考虑这个世界上总有那么多傻逼的工具,那你就不要改任何东西了。

或者,我提一个有点“建设性”的。可以学ES5,设定某种外围构造,只在该构造里支持语法的升级。

比如

@css4 {
 ....
}

只在css4块里支持语法升级,包括 // 注释,还有嵌套声明之类的东西。


2012/9/5 Kang-Hao (Kenny) Lu <kanghaol@oupeng.com>

> 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 Sunday, 9 September 2012 10:17:26 UTC