我最近發現,Chrome的應用下列CSS規則應用於所有SVG元素(無論它們是如何嵌入[對象,嵌入,iframe或內聯):爲SVG禁用chrome用戶代理樣式表*選擇器?
* {
-webkit-transform-origin-x: 0px;
-webkit-transform-origin-y: 0px;
-webkit-transform-origin-z: initial;
}
運行CSS選擇器探查,在*選擇器是迄今爲止最大的性能命中。這似乎會導致滾動等,感覺與頁面中的幾個非常複雜的SVG呆滯。
我的問題是:我該如何解決這個問題?有沒有辦法刪除這條規則(不覆蓋,因爲在這種情況下,這會導致選擇器性能更差)?
也許這是由Chrome瀏覽器小組的監督,或許它的存在的原因,我不明白(獎勵積分的人誰也可以解釋爲什麼它的存在,如果我錯了,希望它消失) 。
也許我也在錯誤地閱讀分析器。這裏有一個截圖(刪除不相關的選擇器)。
我知道我問了很多的問題在這裏,但有一個原因(除了它根本還沒有實現),爲什麼不填充「源」列?
您確定緩慢是因爲選擇器,而不是因爲Chrome渲染SVG時速度慢嗎? – cimmanon
根本不是。它可能就是這樣,但我無法測試,因爲我無法禁用用戶代理樣式表。 – lakenen
您意味着選擇器只針對SVG,但這是不可能的。從轉換源(https://developer.mozilla.org/en-US/docs/CSS/transform-origin)的目的來看,每個元素都有一個邏輯默認狀態是合適的。 – cimmanon