在iPad视口中保持jQuery模式

我写了一个相当直接的前进jQuery模式,因为我不想要任何重量。 该模式适用于除iPad之外的所有浏览器。

如果我在页面底部并单击打开灯箱,它将在页面顶部打开,不在视图范围内。

我没有使用jQuery定位窗口只是纯粹的css任何人都可以看到为什么这可以在除iPad之外的所有其他浏览器中工作?

 #lightbox {position:fixed;  / *将灯箱窗口保持在当前视口中* / top:0; 左:0; 宽度:100%; 高度:100%;  z-index:2;  background-color:rgba(0,0,0,0.2);  font-weight:100; 保证金:0 0 .1em 0; 颜色:#f8ef71;  text-shadow:1px 1px 1px#af7913;  text-align:center;  } 

位置:修复不是普遍支持的,我认为你的iOS版本低于版本5,这是第一个支持它的iOS版本? 这个模式也不会出现在IE6和7上。 如果不通过视口元标记禁用缩放,它也不会在Android 2.3及更低版本中运行。

您将面临的另一个难点是:固定是它相对于窗口而不是视口,因此当缩放时,元素将不会出现您想要的样子。 这就是为什么他们在android 2.3中禁用固定而不禁用缩放(或者我相信),虽然他们在后来的Android版本中改变了这个位置。

这是一个相关的问题: CSS“position:fixed;” 在iPad / iPhone上?

感谢Ed Kirk提醒我iOS版本5中的位置修复问题

我写了一个小JS来解决我的问题

 if(navigator.platform =='iPad'|| navigator.platform =='iPhone'|| navigator.platform =='iPod')
         {
             var cssObj = {
                 'background-color':'rgba(0,0,0,0)',
                 '位置':'绝对',
                 'top':$(document).scrollTop()
             };

             $( '#collections')的CSS(cssObj);
             $(window).scroll(function(){$('#lightbox')。animate({top:$(document).scrollTop()},300);});
         };