色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

SVG筆畫-dashoffset在safari上不起作用

林雅南2年前8瀏覽0評論

即使我添加了-webkit- prefix,Stroke-dashoffset在safari上也不起作用。請幫助我。謝謝!....

這是我的示例代碼....

#path1 {
  stroke-dasharray: 500;
  -webkit-animation: dash 2s ease;
  animation: dash 2s ease;
  display:inline-block;
}
.path2 {
  stroke-dasharray: 500;
  -webkit-animation: dash 2s ease;
  animation: dash 2s ease;
  display:inline-block;
}

@keyframes dash {
  from {
  stroke-dashoffset: -500;
  }
}

@-webkit-keyframes dash {
  from {
  stroke-dashoffset: -500;
  }
}

Safari不支持負筆畫偏移......

不是那樣的& quotSafari不支持負的“筆畫偏移”,根據公認的答案。Safari實際上是遵循規范的。Chrome、Firefox等正在打破這個規范,可能是因為他們意識到這個規范定義得很差。

下面是SVG規范對筆畫-虛線偏移的定義。一些需要注意的事項:

正的筆畫-虛線偏移值不會使虛線從路徑的起點前進到路徑的終點:它們會使虛線向后移動。這是因為它被定義為& quot路徑開始處到虛線圖案的距離& quot,而不是& quot模式開始的路徑有多遠& quot如你所想。 負的筆畫-虛線偏移值不會準確地將虛線向后移動。也就是說,從& gt0到& lt0并不總是延續破折號的平穩行進。真正的行為是peculiar?,表面上看起來不可預測。 簡而言之,dashoffset的工作方式與您想象的完全不同。如果可能的話,你應該避免負值以避免混淆。

解決辦法

解決這個問題的常見方法是去掉負號并反轉動畫,這通常(可能總是?)應該會產生預期的效果:

#path {
  stroke-dasharray: 500;
  animation: dash 2s ease reverse;
}

@keyframes dash {
  from {
    stroke-dashoffset: 500;
  }
}

Discussion?

我認為這種混亂最終源于規范中這一行的模糊性:

where s is the sum of the dash array values.

難道& quot虛線數組值& quot是指用戶在屬性中提供的值?還是指處理后的值數組,奇數長度的數組被重復以產生偶數長度的數組(例如stroke-dash array = & quot;10 & quot變成stroke-dash array = & quot;10 10 & quot).Safari似乎將其解讀為前者,Chrome和Firefox則是后者。

例如,用stroke-dash array = & quot;10 & quot,規范說stroke-dash offset = & quot;-1 & quot;將與stroke-dash offset = & quot;9 & quot根據規范。但是在Chrome和Firefox中,它看起來會和stroke-dash offset = & quot;19 & quot。但是,如果設置stroke-dash array = & quot;10 10 & quot,它的行為似乎如你所愿。

澄清規格

這是我在規范中創建的一個關于負破折號偏移的問題: https://github.com/w3c/svgwg/issues/795

如果你覺得這令人沮喪,給這個問題一些意見或的,也許他們會解決它。

如上所述,負值不適用于筆畫-虛線偏移。如果您將值轉換為正數,這應該可以實現(您也需要轉換初始值):

.path2 {
  stroke-dasharray: 1500;
}

@keyframes dash {
  from {
  stroke-dashoffset: 500;
  }
}

@-webkit-keyframes dash {
  from {
  stroke-dashoffset: 500;
  }
}

我可以通過將stroke-dashoffset設置為stroke-dasharray的雙倍值來獲得想要的結果

第一步:enter image description here

第二步:enter image description here

我也有同樣的負面情緒。因此,我使用正值來代替并翻轉SVG。

在我的特殊例子中,我通過使用transform:scaleX(-1)翻轉SVG來解決這個問題。

根據您的需求,翻轉SVG可能有效。

SVG動畫標簽似乎沒有css也能工作

<path stroke-dasharray="500" other attr>
    <animate 
      attributeName="stroke-dashoffset" 
      from="-500" 
      to="500"
      dur="3s" // duration
      begin="2s" // delay
      fill="freeze"/>
  </path>