問題:
SMIL 的animate 標籤已棄用,CSS 懸停過渡需要更改
解決方案:
去掉set標籤,在element_tpl:hover偽類中加入CSS:
<code class="css">.element_tpl:hover { stroke-opacity: 0.5; }</code>
問題:
在提交的更改時對元素進行動畫縮放幾次。
解決方案:
考慮以下選項:
<code class="css">@keyframes scale-animation { 0% { transform: scale(1); } 50% { transform: scale(1.12); } 100% { transform: scale(1); } }</code>然後將動畫套用到元素:
<code class="css">.element_tpl { animation: scale-animation 0.5s infinite alternate; }</code>
<code class="javascript">// Create a new animation const animation = document.timeline.addAnimation(); // Define keyframes const keyframes = [ { transform: 'scale(1)', offset: 0 }, { transform: 'scale(1.12)', offset: 0.5 }, { transform: 'scale(1)', offset: 1 } ]; // Apply keyframes to the animation animation.effect = keyframes; // Target the element animation.target = document.querySelector('.element_tpl');</code>點擊時向上和向下縮放
問題:
解決方案:
<code class="css">.element_tpl { transition: transform 0.2s; } .element_tpl:active { transform: scale(1.1); }</code>
<code class="javascript">// Add event listener document.querySelector('.element_tpl').addEventListener('click', (event) => { // Create a new animation const animation = document.timeline.addAnimation(); // Define keyframes const keyframes = [ { transform: 'scale(1)', offset: 0 }, { transform: 'scale(1.1)', offset: 0.2 }, { transform: 'scale(1)', offset: 0.4 }, ]; // Apply keyframes to the animation animation.effect = keyframes; // Target the element animation.target = event.target; });</code>
儲存SMIL 動畫
問題:
將SMIL 動畫傳送到CSS 或網頁動畫。
解決方案:
以上是如何用 CSS 或 Web 動畫取代已棄用的 SMIL 動畫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!