You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 07:09:58