记录一下使用HTML2Canvas生成的图片无法获取html中img标签高度导致图片被截断的问题

最近开发过程中使用 html2canvas 将html代码生成canvas的时候发现预览出现的canvas图片中间被截断了  如图

期间以为是跨域图片没有加载,使用了useCORS:true,allowTaint:两个html2canvas的配置项,然而并没有什么卵用。

然后以为标签非块元素的问题,尝试了给img标签添加display:block,object-fit并没有生效

由于是富文本组件自定义功能按钮添加的图片生成的html代码,要考虑到富文本组件编辑时候的美观,所以没有加固定宽高,由于之前画canvas并没有添加过img标签,导致变成了瞎子过河。

然后把html代码截取出来用控制变量法发现仅文字输出是没有问题的,带上图片就出现了问题,

尝试了文字---图片---文字的结构 发现比文字----图片被截断的位置不一样,得出结论  img标签在html2canvas里面被默认当做一行行高的元素,且display:block并不生效,所以 只需要在调用html2canvas的方法之前  将所有的img标签加上固定高度即可保证导出的canvas正常渲染~

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值