我對transform-origin屬性感到困惑。
根據最新的SVGV 2草案,這是一個必需的CSS屬性。
根據MDN關于SVG表現屬性的頁面,它不是一個可以作為SVG元素屬性使用的CSS屬性。然而,根據同一頁面,大多數瀏覽器都支持它作為一個屬性。而根據MDN頁面上的transform-origin,聽上去它是一個SVG屬性。
其他的SVG用戶代理/編輯器,如Inkscape,似乎并不支持它作為一個屬性或作為一個樣式屬性。Inkscape使用它自己的inkscape:transform-center-x和inkscape:transform-center-y屬性代替。
transform-origin是一個標準的SVG 2屬性嗎?如果不是,為什么瀏覽器支持
transform-origin屬性?是否有計劃清除其標準化?
uj5u.com熱心網友回復:
在SVG 1.1中,幾乎所有的CSS屬性都可以作為映射屬性使用,即你可以寫style="display: none "或者display="none"
。當SVG 2規范首次創建時,作者建議不要繼續使用新的CSS屬性,也就是說,它們不會被映射為屬性。
然而,Chrome 和 Safari 將 transform-origin 映射為一個屬性,并且最終為了與開始出現的依賴該屬性的內容兼容,Firefox 也這樣做了。
有一個關于 SVG 2 規范的開放問題提議修改該規范以反映現實。
uj5u.com熱心網友回復:
我不太清楚大家的困惑是什么,但這段來自MDN的話語可能會有所幫助:
Transform-origin SVG屬性設定了一個專案的原點。 變換的原點。
你可以對任何SVG元素使用這個屬性。
注意:作為SVG的一個展示屬性,transform-origin在語法和行為上對應于 在語法和行為上對應于CSS中的transform-origin屬性,并且 可以作為CSS屬性來使用SVG的樣式。參見CSS transform-origin 屬性獲取更多資訊。
這可能是對CSS屬性和屬性之間的一些混淆。盡管在這種情況下,它們具有相同的行為,但它們并不是同一種東西。
無論是通過 CSS 還是作為屬性使用,我都沒有遇到問題。如果仍然有問題,也許你可以發布一些代碼來演示它,我們可以再看一下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/331118.html
標籤:
