使IFRAME在iOS设备上支持滚动

使IFRAME在iOS设备上支持滚动,第1张

概述原文链接: Scroll IFRAMEs on iOS 原文日期: 2014年07月02日  翻译日期: 2014年07月10日 翻译人员: 铁锚 很长时间以来, iOS设备上Safari中超出边界的元素将不能滚动,处理这种问题对开发人员来说一直是种折磨。 对原文作者的博客来说,这特别让人无奈,因为demo程序都是在沙箱IFRAMEs中运行的,这是为了不影响博客网站的AJAX页面加载策略.  通过 原文链接: @L_301_0@
原文日期: 2014年07月02日 
翻译日期: 2014年07月10日
翻译人员: 铁锚

很长时间以来,iOS设备上Safari中超出边界的元素将不能滚动,处理这种问题对开发人员来说一直是种折磨。 对原文作者的博客来说,这特别让人无奈,因为demo程序都是在沙箱iframes中运行的,这是为了不影响博客网站的AJAX页面加载策略.  通过一些研究发现,只要设置两个CSS属性,以及加上一个元素,这个问题就解决了. Here we go!
(译者注: 当初自己调这个问题是通过Js来监听处理的,导致的问题是响应不太灵敏,而且需要处理各种浏览器兼容问题.)

点击查看示例程序(你可以用iPhone打开试试,地址是: http://davIDwalsh.name/demo/scroll-iframes-ios.PHP )

支持滚动的 iframe 页面效果 HTML代码
在使用iframe或者其他HTML元素时,你需要使用一个元素(如div)来包装他们:
<div >    <iframe src=""></iframe></div>
这个div将作为支持内部滚动的基础容器。

CSS 代码
要让iframe支持滚动,需要一个常用的CSS属性和一个很少人知道的CSS属性(property):
.scroll-wrapper {    -webkit-overflow-scrolling: touch;    overflow-y: scroll;    /* 提示: 请在此处加上需要设置的大小(dimensions)或位置(positioning)信息! */}.scroll-wrapper iframe {    /* 你自己指定的样式 */}
-webkit-overflow-scrolling: touch; 属性值就是专为浏览器中溢出(overflow)时需要滚动的元素设计的。 如果没有指定这个属性,当你想滚动iframe时,实际上会导致外层页面的滚动,通过它你就可以对iframe的滚动进行控制! 在原作者的博客站点中,使用了下面的CSS:
.demo-iframe-holder {  position: fixed;   right: 0;   bottom: 0;   left: 0;  top: 0;  -webkit-overflow-scrolling: touch;  overflow-y: scroll;}.demo-iframe-holder iframe {  height: 100%;  wIDth: 100%;}

请收藏本文,以备查询或使用.记得有这个CSS属性是设置在包装元素上,而不是设置到滚动元素自身上面的!

总结

以上是内存溢出为你收集整理的使IFRAME在iOS设备上支持滚动全部内容,希望文章能够帮你解决使IFRAME在iOS设备上支持滚动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1088781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存