CSS工作組(CSS Working Group)聯(lián)合主席Daniel Glazmang告知大家非WebKit的瀏覽器廠商正在考慮支持-webkit-前綴CSS屬性。

一石激起千層浪,于是業(yè)內(nèi)展開了激烈的官方討論。這里,翻譯篇相關(guān)文章,希望米娜桑對該討論有所了解,并發(fā)表自己的一些觀點。

以下為翻譯全文

對于CSS的私有前綴,開發(fā)者可謂愛恨交加。他們可以讓我們在花費大量冗余代碼的基礎(chǔ)上使用一些前言技術(shù)。

background-image: -webkit-linear-gradient(#fff, #000); background-image: -moz-linear-gradient(#fff, #000); background-image: -ms-linear-gradient(#fff, #000); background-image: -o-linear-gradient(#fff, #000); background-image: linear-gradient(#fff, #000);

上面代碼理論上可行,但是考慮到實際……

  1. 實驗性質(zhì)的屬性往往都是先拿webkit引擎作小白鼠,沒人能保證他們會復(fù)制在其他瀏覽器上。
  2. 通常很難界定私有前綴是否屬于CSS規(guī)范的一部分。一些瀏覽器生產(chǎn)商提交的屬性并不標(biāo)準(zhǔn)。
  3. 即使變成了標(biāo)準(zhǔn)屬性,其不準(zhǔn)確的私有前綴版本依舊支持。你的老代碼依舊可以工作;你不會重新改正。

你會經(jīng)常看到一些站點只使用-webkit-, 即使其他瀏覽器已經(jīng)對該屬性無前綴寫法有了廣泛的支持(例如border-radius)。因此,Chrome和Safari比競爭對手的瀏覽器看起來更好——其他廠商不樂意看到。

該問題已經(jīng)在2012/2/7 W3C會議上提出并討論。

Web標(biāo)準(zhǔn)積極分子正教人使用webkit. 你會看到所有的web標(biāo)準(zhǔn)倡導(dǎo)者,提倡人們使用WebKit的前綴。

我們的工作就是要解決互通性。

在這一點上,我們試圖找出它和多少WebKit的前綴屬性,真正在Mozilla實現(xiàn)了支持。

如果我們不支持WebKit的前綴,我們會把自己鎖在移動網(wǎng)絡(luò)部分的外面。

讓我們花點功夫好好理解下。

無-webkit瀏覽器將支持-webkit前綴。這就是W3C想出來的解決之法。

這個想法可能是失敗的。兩個或兩個以上相同的WebKit屬性的實現(xiàn)將不兼容,因此開發(fā)人員將不能夠在任何地方使用它。沒有人最終勝利 – 包括蘋果和谷歌。

但我更關(guān)心如果解決方案是成功的,它會造成不可挽回的損失。一旦開發(fā)者發(fā)現(xiàn)Firefox, IE和Opera都支持WebKit的前綴,他們會期望他們所有屬性都起作用。 Webkit-only將成倍增加,供應(yīng)商將被迫從頭到尾應(yīng)用這些前綴。在這一點上,WebKit的屬性將成為既定事實上的標(biāo)準(zhǔn)而無視任何W3C規(guī)范。游戲結(jié)束:開發(fā)的web就此關(guān)閉。

其影響不只是CSS: 許多新的JavaScript API有私有前綴。

誰之過

失敗在于:

W3C工作組

web標(biāo)準(zhǔn)達(dá)到成熟時間過長。這可能是不可避免的,但瀏覽器廠商都繞過該過程。

瀏覽器生產(chǎn)商

匆忙推出個新技術(shù),對于生產(chǎn)商,添加個前綴然后忘記它太容易了。Web開發(fā)者需要更多的信息:是否該屬性被W3C認(rèn)可,什么時候前綴可以去掉?

在一個理想的世界中,一旦瀏覽器實現(xiàn)了標(biāo)準(zhǔn)的屬性,實驗性質(zhì)的前綴會消失。生產(chǎn)商不會如此做,因為這會破壞站點,但是他們可以突顯問題。例如,為開發(fā)控制臺提供過時的檢測工具或輸出錯誤消息。

蘋果和谷歌

在推銷webkit前綴上,兩者都是有罪的,好像他們就是日常HTML5 web開發(fā)的標(biāo)準(zhǔn)部分。蘋果已經(jīng)被指控與W3C積極作對。

Mozilla, Microsoft和Opera

其他瀏覽器生產(chǎn)商通常滯后webkit數(shù)月——否則數(shù)年。添加WebKit的前綴是一個可笑的解決方案:是時候繁冗他們的游戲咯。

技術(shù)網(wǎng)站以及狂熱分子

我們都喜歡很酷的實例,“傳教士”們總是忽略屬性是實驗性質(zhì)的,可能永遠(yuǎn)都不會所有瀏覽器都支持(恩,是的,包括SitePoint)。理想的情況下,代碼應(yīng)該至少在兩個瀏覽器下生效,至少表明需要多個供應(yīng)商的前綴。

web開發(fā)者

我們太懶惰。我們編寫特定瀏覽器的代碼,盡管我們可能心里想的是以后糾正,但我們很少做。

你還記得最后一次有針對性的開發(fā)特定的瀏覽器?這就是IE6. 十年后我們?nèi)匀缓瓦@個決定的遺產(chǎn)相伴。難道你真的希望歷史重演?

是時候行動了

我反對非WebKit的瀏覽器支持WebKit的前綴。充其量,它使前綴無法使用。在最壞的情況下,它打破了整個標(biāo)準(zhǔn)化進(jìn)程。無論你可以同意或不同意,姑且讓同事知道你的意見,通過博客和社交網(wǎng)絡(luò)上。 W3C和瀏覽器廠商將聽取您的反饋,你只需要提供一些。

然后在多個瀏覽器測試您的網(wǎng)站。一點點優(yōu)雅降級是好的,但忽視中的一個或多個現(xiàn)代瀏覽器而具有同等的支持是不可取的。修復(fù)代碼,否則你的網(wǎng)站會對這個問題作出了貢獻(xiàn)。

以上為翻譯全文

譯者語及其他補(bǔ)充觀點

我個人態(tài)度也是不支持非webkit核心瀏覽器支持webkit屬性。因為我想想都覺得麻煩。自己缺乏預(yù)見性而造成的問題需自己買單。

附上其他一些人的觀點:

Remy Sharp: 這是個糟糕的想法,因為它影響開發(fā)商的預(yù)期,將有可能使我們使用前綴更加懶惰。

Christian Heilmann: 作為開發(fā)者,我們自己搞出來的混亂,應(yīng)該由我們自己從中走出來內(nèi)容)。

Aaron Gustafson乞求我們至少解決我們自己的東西并制作了個請愿書來對抗其他瀏覽器生產(chǎn)商支持-webkit-.

Eric Meyer則相當(dāng)肯定我們不會贏得這場戰(zhàn)爭。

還有其他同行:Rachel Andrew, Bruce Lawson, Gilles Vandenoostende。

國內(nèi)不是不少公司已經(jīng)加入W3C了嗎,期望有相關(guān)同行可以現(xiàn)身說法。

轉(zhuǎn)載自:http://www.zhangxinxu.com/wordpress/?p=2223

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)