之前提過 Web 開發者應重視跨瀏覽器兼容性的理由,另訪談了幾位 Web 開發者的秘訣。說到 Web 內容的兼容性,開發者以及瀏覽器廠商絕對扮演著重要角色。本文將為大家介紹幾個兼容性的相關功能,也說明一下目前 WHATWG 兼容性標準的進度。
Firefox 49版本有幾項很重要的變化,包含目前已支持多個 -webkit- 前綴,以及 WebKit 專屬接口。這些平臺的特色就是尚未成為標準、極為普遍、受特定內容提供商所愛用的。
即便瀏覽器內容已經依照標準而設計,但是非標準、不兼容的 CSS 卻仍會破壞整個版面。瀏覽器若不支持 -webkit- 前綴(如 Firefox 48 或更低版本),瀏覽相關網站的網頁效果就不佳,而且必須等到這些網站更新 CSS 之後才會有所改善。也因此 Firefox 49 通過以下變更來應對 WebKit 的特定內容:
支援 WebKitCSSMatrix() 界面。
支援 -webkit-gradient() 。
具有 -webkit- 前綴的屬性,可對應其同義的標準屬性。
具有 -webkit- 前綴的舊版 flexbox 屬性,可直接對應為 -moz- 前綴的 flexbox 屬性。
支持下列尚需前綴的 CSS 屬性:
-webkit-text-fill-color
-webkit-text-stroke-color
-webkit-text-stroke-width
-webkit-text-stroke
(非)常見問題(iFAQ):
那對我代表了哪種意義?
對用戶來說,專為 WebKit 瀏覽器所設計的網站(特別是移動設備),即通過上述改動來提升兼容性。
而開發者可能會想回頭將無前綴的對等屬性,新增到自己的 webkit 專用的 CSS 之上。理論上,Mozilla 總有一天會從 Web 平臺上移除這類屬性。給大家的專業建議:把無前綴的屬性永遠擺在最後面。
這樣會破壞我的網站吧?
當然希望不會!但可通過下列設定來測試:
about:config?filter=layout.css.prefixes.webkit
如果有「變得更糟」的情形,請立刻到 bugzilla.mozilla.org 上報併發郵件通知 [email protected];也可通過 webcompat.com 上報。
我應該從現在開始使用 -webkit- 前綴嗎?
其實沒必要。但請記得要使用 Web 標準,並在多款瀏覽器上持續測試即可。如果必須使用 -webkit- 前綴(與以前相比,現在使用的理由更少了),請一定要將這些前綴擺在你無前綴的屬性之前。
作者會持續更新兼容標準。如果你也想貢獻,也有很多可幫忙的地方!
更多詳情可前往火狐社區mozilla.com.cn
原博客標題:Firefox 49 fixes sites designed with WebKit in mind, and more
閱讀更多 火狐 的文章