iframe底部有白边

问题现象

在开发微信公众号网页时,用iframe来展示另一个页面,在测试的时候发现,iframe中的页面滑到底部之后,就在底部出现了一条白线。

问题调查及原因

因为在Android微信、iOS微信、web端均出现该问题,排除平台的原因,应该是样式的原因。
查阅了很多资料,大部分都是说将iframe的margin和padding设为0,但是我设置后仍然不好用。
最后在一个问答网站上找到了答案,因为iframe是内联元素,导致的该问题。

解决方案

因为iframe是内联元素,将其改为块级元素即可。

iframe { display:block; }

致谢

感谢该问题的回答者,附上网址

在前端 `iframe` 中嵌套 PDF 文档,直接利用 `iframe` 对象的 `innerHeight` 无法准确获取 PDF 文档每页的高度。因为 `innerHeight` 通常表示 `iframe` 视口的高度,而非 PDF 文档每页的实际高度。不过,可以结合一些方法来实现需求。 ### 思路分析 可通过监听 `iframe` 加载完成事件,在加载完成后获取 `iframe` 内容的高度,进而计算每页高度。 ### 代码示例 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>获取 iframe 中 PDF 每页高度</title> </head> <body> <iframe id="pdfIframe" src="your_pdf_file.pdf" onload="handleIframeLoad()"></iframe> <script> function handleIframeLoad() { const iframe = document.getElementById('pdfIframe'); const iframeWindow = iframe.contentWindow; const iframeDocument = iframe.contentDocument || iframeWindow.document; // 获取 iframe 内容的总高度 const totalHeight = iframeDocument.documentElement.scrollHeight || iframeDocument.body.scrollHeight; // 假设 PDF 文档有 10 页,这里简单计算每页高度 const numPages = 10; const pageHeight = totalHeight / numPages; console.log(`每页高度: ${pageHeight}px`); } </script> </body> </html> ``` ### 代码解释 1. **监听 `iframe` 加载完成**:通过 `onload` 事件监听 `iframe` 加载完成,触发 `handleIframeLoad` 函数。 2. **获取 `iframe` 内容的总高度**:使用 `scrollHeight` 属性获取 `iframe` 内容的总高度。 3. **计算每页高度**:假设 PDF 文档有 10 页,将总高度除以页数得到每页高度。 ### 注意事项 - 上述代码假设 PDF 文档每页高度相同,实际情况可能不同。 - 如果 `iframe` 跨域,可能会遇到同源策略限制,导致无法获取 `iframe` 内容的高度。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值