zp1112 / blog

地址
http://issue.suzper.com/
36 stars 3 forks source link

html2canvas 使用笔记 #23

Open zp1112 opened 6 years ago

zp1112 commented 6 years ago

字体大小无法正常转化问题

查询了html2canvas的issue,发现原因是因为字体设置了 font-variant: tabular-nums,于是在代码中查找该属性,并没有,然而在浏览器中查找到了该属性,原来是antd的样式里面有这个设置,至于font-variant是干啥的,字体研究太深奥了,不管他。 在body中设置font-variant为normal就ok了,同时也解决了字符错位问题。

截图有白边问题

由于传入的width和height使用了clientWidth取值,默认是取整的,因此白边的产生就是实际元素多出来的小数点。使用target.getBoundingClientRect().width.toFixed(2)替换clientWidth,因为元素默认保留后两位,所以fixed2,但是还有问题,因为这样得到的不是数值,是字符串,无法生效,因此在前面加个+使之变成数字即可。