場景
在做公司官網h5項目時遇到iframe在蘋果X手機上右側超出屏幕的問題,感覺像是被截斷一樣,但是在其他手機上顯示正常。
分析
問題原因:頁面a利用iframe嵌入了b,同時設置iframe的寬度為100% ,但是頁面b的實際寬度要大于外層設置的100%。
正常情況下,頁面b的顯示寬度應該為外層賦予的100%,但是在ios上,當iframe內真實寬度大于外層給予的寬度的時候,顯示的寬度則為真實寬度。
解決
1、給iframe的外層div添加樣式:overflow: auto;-webkit-overflow-scrolling:touch;width:100%;
2、給iframe設置屬性scrolling='no'
3、給iframe設置樣式:width: 1px; min-width: 100%; *width: 100%;
<div style="overflow: auto;-webkit-overflow-scrolling:touch;width:100%;"> <iframe height="100%" scrolling="no" style="width: 1px; min-width: 100%; *width: 100%;" src="https://juejin.im/timeline"> </iframe></div>
附:iframe在IOS里如何自適應寬度?
iframe自動變寬了,在IOS手機上出現滾動條
第一步:定義 iframe 中的scrolling屬性為no,設置iframe中不顯示滾動條。
<iframe scrolling="no" ></iframe>
第二步:設置iframe的樣式為如下所示
iframe{ overflow: scroll; -webkit-overflow-scrolling: touch; min-width: 100%; *width:100%; width:1px;}
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。
新聞熱點
疑難解答