重點就是這三行代碼,其餘還有一些 本身看!css
問題是,當你不得不使用IFrame將內容插入到網站時,那麼在現代網絡世界中,IFrame也會有所反應。理論上它很簡單,只是簡單的使用<iframe width="100%"></iframe>
或者設置CSS的寬度,iframe { width: 100%; }
可是在實踐中它不是那麼簡單,可是能夠。html
若是iframe
內容徹底響應,而且能夠在沒有內部滾動條的狀況下自行調整大小,那麼iOS Safari將會調整大小,iframe
而不會有任何實際的問題。jquery
若是你考慮下面的代碼:ios
<html> <head> <meta http-equiv="X-UA-Compatible" content="IE=9,10,11" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Iframe Isolation Test</title> <style type="text/css" rel="stylesheet"> #Main { padding: 10px; } </style> </head> <body> <h1>Iframe Isolation Test 13.17</h1> <div id="Main"> <iframe height="950" width="100%" src="Content.html"></iframe> </div> </body> </html>
經過Content.html:git
<html> <head> <meta http-equiv="X-UA-Compatible" content="IE=9,10,11" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Iframe Isolation Test - Content</title> <style type="text/css" rel="stylesheet"> #Main { width: 100%; background: #ccc; } </style> </head> <body> <div id="Main"> <div id="ScrolledArea"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc malesuada purus quis commodo convallis. Fusce consectetur mauris eget purus tristique blandit. Nam nec volutpat augue. Aliquam sit amet augue vitae orci fermentum tempor sit amet gravida augue. Pellentesque convallis velit eu malesuada malesuada. Aliquam erat volutpat. Nam sollicitudin nulla nec neque viverra, non suscipit purus tincidunt. Aenean blandit nisi felis, sit amet ornare mi vestibulum ac. Praesent ultrices varius arcu quis fringilla. In vitae dui consequat, rutrum sapien ut, aliquam metus. Proin sit amet porta velit, suscipit dignissim arcu. Cras bibendum tellus eu facilisis sodales. Vestibulum posuere, magna ut iaculis consequat, tortor erat vulputate diam, ut pharetra sapien massa ut magna. Donec massa purus, pharetra sed pellentesque nec, posuere ut velit. Nam venenatis feugiat odio quis tristique. </div> </div> </body> </html>
而後,這在iOS 7.1 Safari中沒有問題。您能夠在風景和肖像之間切換而不會有任何問題。github
可是,只需經過添加如下內容來更改Content.html CSS:web
#ScrolledArea { width: 100%; overflow: scroll; white-space: nowrap; background: #ff0000; }
你獲得這個:api
如您所見,即便Content.html內容徹底響應(div#ScrolledArea已overflow: scroll
設置),而且iframe寬度爲100%,iframe仍會佔用div#ScrolledArea的所有寬度,就好像溢出不存在同樣。演示瀏覽器
在這種狀況下,若是iframe
內容上有滾動區域,問題就變成了如何得到iframe
響應,當iframe內容有水平滾動區域?這裏的問題並不在於Content.html沒有響應,事實上iOS Safari只是簡單地調整iframe的大小,div#ScrolledArea
使其徹底可見。網絡
white-space: nowrap
樣式,iOS會將iFrame擴展到頁面的整個寬度? - DA。 14年4月16日在2:03white-space: nowrap
自己不是問題。我只是用它來得到一個極端的寬度div#ScrolledArea
。問題出如今IFrame內容中有水平滾動的區域時。若是是這種狀況,iOS Safari會忽略您的寬度設置,並顯示洞內容並打破網站的響應。 - Idra 14年 4月16日在10:50