簡介
由於SMIL(同步)的簡介
由於SMIL(同步)的簡介
<code class="css">.element_tpl:hover { stroke-opacity: 0.5; }</code>
新增CSS懸停規則:
<code class="css">.element_tpl { transform: scale(1); } .element_tpl:active { transform: scale(1.1); }</code>
請注意,與SMIL 動畫相比,這可能會導致行為略有不同。
<code class="css">@keyframes click-anim { from { transform: scale(1); } to { transform: scale(1.15); } } .element_tpl { animation: click-anim 0.2s forwards; animation-delay: 0.2s; }</code>
同樣,該行為可能與原始SMIL 動畫略有不同。
<code class="html"><g id="switcher" cursor="pointer" stroke-width="0.15"> <g transform="scale(1,1.375)"> <g> <rect x="-0.5" y="-0.5" width="1" height="1" stroke="white" pointer-events="none"/> <rect x="-0.5" y="-0.5" width="1" height="1" fill="white"> <line x1="0" y1="-0.25" x2="0" y2="0.25" stroke-width="0.17" stroke-linecap="round" pointer-events="none"/> </rect> </g> </g> </g></code>
<code class="css">#switcher { transform: scale(1); } #switcher:hover { stroke-opacity: 0.5; } #switcher:active { transform: scale(1.1); } @keyframes click-anim { from { transform: scale(1); } to { transform: scale(1.15); } } #switcher:active { animation: click-anim 0.2s forwards; animation-delay: 0.2s; }</code>
工作範例
儲存現有動畫儲存現有動畫儲存現有動畫提供的連結包含比問題中的範例更複雜的動畫。將它們轉換為 CSS / Web 動畫將需要更多的努力和自訂程式碼。建議使用下面答案中提到的 SMIL polyfill 來維護現有的 SMIL 動畫,同時過渡到現代瀏覽器支援。以上是如何用 CSS 或 Web 動畫取代已棄用的 SMIL SVG 動畫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!