2010-07-06 63 views
13

我知道iPhone/iOS的多个滚动库(TouchScroll,iScroll),因为它无法支持overflow:scroll。但是,我并不知道(我正在寻求确认),IFRAME也没有真正的工作。看起来,iframe不尊重任何尝试给它一个固定的大小,并总是只是调整自己的内容。我对此是否正确?是唯一的方法来滚动一个IFRAME放置在一个块元素的溢出CSS属性设置,然后使用像上述的库?iframe在iphone上滚动

+0

我都没有成功尝试,以实现在iPhone上滚动的iframe,并且还发现了iframe忽略任何试图设置它的大小即你提到将iframe放置在一个块元素中并结合一个滚动库 - 为你解决这个问题吗?迄今为止,我还没有取得任何成功。 – James 2010-10-27 00:54:29

+0

James,你是否“试图在iPhone上实现滚动iframe而没有成功”?我一直在试验和搜索解决方案,也没有成功。 (注意:一个iframe本身可以工作,但是不能将它与iscroll/touchscroll/etc结合使用) – 2012-02-21 12:45:03

回答

1

您可以滚动任何设置为溢出的内容:自动按用两根手指触摸并拖动。不要将iFrame放入具有overflow:auto的div中,而应将iframe设置为溢出:auto本身。不幸的是,iframe滚动是非常不稳定,无论内容或设备,所以最好的解决方案是找到一种方法,使您的内容适合一个长页面,“顶部”视图divs设置为遵循视口(如果这是你要去的效果)。

-4

Flippant答案:不要再使用IFRAMES。

+5

-1 html-editors(像tinymce,ckeditor,aso)需要iframe – Thariama 2012-02-23 13:06:12

0

下面的代码适用于我(感谢Christopher Zimmermann的博客文章http://dev.magnolia-cms.com/blog/2012/05/strategies-for-the-iframe-on-the-ipad-problem/)。这些问题是:1。 有没有滚动条,让用户知道他们可以滚动 2.用户必须使用两个手指滚动 3. PDF文件不居中(仍在开发中)

<!DOCTYPE HTML> 
    <html> 
    <head> 
     <title>Testing iFrames on iPad</title> 
     <style> 
     div { 
     border: solid 1px green; 
     height:100px; 
     } 

    .scroller{ 
     border:solid 1px #66AA66; 
     height: 400px; 
     width: 400px; 
     overflow: auto; 
     text-align:center; 

    } 
    </style> 

</head> 

<body> 

    <table> 
     <tr> 
     <td><div class="scroller"> 
     <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe> 
    </div> 
     </td> 
     <td><div class="scroller"> 
     <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe> 
    </div> 
     </td> 
     </tr> 
     <tr> 
     <td><div class="scroller"> 
     <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe> 
    </div> 
     </td> 
     <td><div class="scroller"> 
     <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe> 
    </div> 
     </td> 
     </tr> 
    </table> 
    <div> Here are some additional contents.</div> 
</body> 
</html> 
7

简单地增加......

overflow-y:auto; 
-webkit-overflow-scrolling:touch; 

围绕我的iframe一个div为我工作

+0

适合我,谢谢 – user1532587 2014-06-17 15:30:38