css3為什麼有通用還要加相容字首

時間 2021-06-04 10:56:41

1樓:龍博韜

其實還是歷史遺留問題又沒有及時遵循最佳實踐導致的問題。

對於字首最理想的情況就是,我css屬性字首正好滿足我業務需要相容的所有瀏覽器。

但是實際情況是瀏覽器版本的更新迭代中某些以前的相容字首變的沒必要了,但是這個的感知是沒那麼快的,比如可能突然發現安卓4.4以下裝置已經很稀少了,這樣就可以砍掉flex的一些舊版字首了。但是就算發現某些屬性可以清掉後,由於工期問題(懶),很多時候也就不去及時更新了。

所以比較好的方案就是全域性加上autoprefixer,然後定期跟進相容列表,更新autoprefixer配置。再找個迭代回歸上線。

2樓:吳雙Samuel

瀉藥。這麼做目的是為了保證一些老版本的瀏覽器能正常展示效果,尤其是很多中國產瀏覽器,對核心做了各種魔改。

我的建議是不要盲目加這些字首,因為老版本瀏覽器即使通過字首能實現對應的效果,可能性能優化並不理想,會影響到頁面整體的效能。最好在做之前通過收集的使用者資料先了解一下使用者瀏覽器分布情況,如不是十分必要的 CSS3 屬性可以通過優雅降級的方式展示,避免書寫大量字首。

如果一定要寫的話也不建議手動寫,可通過各種預處理器在編譯 CSS 時自動新增字首。

3樓:默語

遺留問題看你要相容多久的瀏覽器如果要相容IE10- Android 4.4- iOS 8- 推薦你還是加全了而且用外掛程式來加

以前叫autoprefixer現在叫postcss了

4樓:德川家康薛丁格

這個問題我以前回答過啊。。。。

因為瀏覽器廠商在實現這個標準的時候,他還沒成為實質上的標準,只是有這麼乙個大概的東西出來,瀏覽器新增字首的意思是,即使以後標準變化,以這個字首來寫的 CSS 依然會工作,而成為正式標準的就實現乙個新的不帶字首的。

5樓:

歷史遺留問題,因為不知道使用者用的瀏覽器到底有多老,所以作為相容還是會寫上,當然,現在都是用 webpack 或 postcss 批處理了,你不寫這些編譯工具也會自動給你加上。

為什麼css3使用transform作為屬性而不是直接使用rotate translate?

Saviio 前面幾位已經說了一些了,我再補充一下。正好前兩天在寫有關parallax的plugin,裡面實現了乙個針對css3的transform中常規變換的轉換函式。樓主你題旨裡的提到的寫法,正如輪子哥說的,css3裡其實是實現了你描述的 簡易模式 的,只是由於他們在定義上都從屬於transfo...

為什麼很多瀏覽器不直接支援原始的 CSS3 樣式,而要使用特定字首(如 webkit moz 等)呢?

因為標準還沒有定下來,如果提前使用字首會導致未來的不相容。這一點可以參考 IE6 中的display inline block問題,它在標準提到 inline block 之前就使用了 inline block 這個值,當標準後於實現提出 inline block 並給出不一樣的含義時,這個問題就很...

有規培了為什麼還要實習?

劉雯 醫學永無止境,不可否認,醫學生培養體制,模式有很多有待完善,也常有朝令夕改的事,讓醫學生很是無奈,尤其女生。可能她的乙個政策的改變,就改變了乙個醫學生的一生。要不專心做醫生,要不頭也不回做其他,不帶走一絲雲彩。 李凱 只能怪中國醫學教育學制的混亂了。在長學制,是不存在這個問題的。但五年制考研是...