vue使用html2Canvas导出图片 input文字向上偏移
图中 用的是element的输入框 行高 32px,经常测试 你使用原生的input 还是会出现偏移。
解决方法:修改css样式
1.怎么实现导出 网上随便找很多
2.在第一步 获取你要导出的元素id 克隆后 修改他的样式或者 你直接在你需要打印的页面全局修改样式
3.主要是重置字体的行高,我这里输入框高度是32px 固定的 ,那就使用line-height 和 padding-top 来让他文字居中
const cloneDom = document.getElementById(content).cloneNode(true)
document.getElementsByTagName('body')[0].appendChild(cloneDom)
cloneDom.querySelectorAll('input').forEach(input => {
input.style.height = '32px'
input.style.lineHeight = '14px'
input.style.paddingTop = '6px'
})
效果 差不多 能居中了 完美解决