如何阻止Gifa11y替换GIF时自动添加display:block样式?
问题:Gifa11y暂停GIF后canvas元素破坏布局
我使用Gifa11y JavaScript插件批量暂停页面中的多个GIF,点击“暂停所有动画”按钮后,GIF会被替换为canvas元素,但这些canvas会自动被添加display:block样式,破坏了原本的布局。Gifa11y的工作原理是生成GIF的第一帧到canvas元素中并替换原图片,但我对canvas元素设置样式未能解决问题。
我希望GIF在暂停后仍保持原本的位置。
HTML代码
<script src="https://cdn.jsdelivr.net/gh/adamchaboryk/gifa11y@2.0.2/dist/js/gifa11y.umd.min.js"></script> <main> <button id="gifa11y-all" class="btn btn-primary" autocomplete="off">Pause all animations</button> <div> <img src="https://media1.giphy.com/media/gw3IWyGkC0rsazTi/giphy.gif"> <img src="https://media1.giphy.com/media/gw3IWyGkC0rsazTi/giphy.gif"> <img src="https://media1.giphy.com/media/gw3IWyGkC0rsazTi/giphy.gif"> <img src="https://media1.giphy.com/media/gw3IWyGkC0rsazTi/giphy.gif"> </div> </main>
CSS代码(模拟网站样式)
img{width:80px; height:50px;} div{width: 200px; height: 200px; margin: auto; border-style: dotted; padding:20px;}
JavaScript代码
var gifa11y = new Gifa11y({ container: 'main', buttonBackground: '#000000', buttonBackgroundHover: '#404040', buttonIconColor: 'white', missingAltWarning: 'false', showButtons:'false' }); // 修复Firefox按钮问题的代码 window.addEventListener('pageshow', PageShowHandler, false); window.addEventListener('unload', UnloadHandler, false); function PageShowHandler() { window.addEventListener('unload', UnloadHandler, false); } function UnloadHandler() { window.removeEventListener('unload', UnloadHandler, false); }
我已经尝试过在div、图片本身、canvas元素上设置display:flex!important、display:inline-block!important、display:inline!important来覆盖样式,但均未成功。
内容的提问来源于stack exchange,提问作者user22607169
相关产品推荐
相关产品推荐

