2015-07-19 30 views
0

我在页面上使用了滚动条。移动设备上的页面显示一个很大的空间,在您第一次滚动它时不会滚动。访问了很多提供解决方案的网站,包括StackOverflow和@ Prinzhorn自己的评论,但有些我无法解决移动设备(Android,iPhone)上的问题。 这里是HTML:Skroller在手机上创建大型空白空间

<div id="skrollr-body"> 
<div id="eidwish1" class="centered" data-300="width:100%; background-image:linear-gradient(0deg, hsl(0, 100%, 50%), hsl(40, 50%, 50%));" data-2000="width:0%; background-image:linear-gradient(3600deg, hsl(360, 100%, 50%), hsl(400, 100%, 50%));"><h1 class="text-center heading2 wow fadeInDown" data-0="display:block;" data-1500="display:none;">This Eid send your loved ones...</h1></div> 
<div id="eidwish2" class="centered" data-2000="width:100%;" data-2500="width:0%;"><h1 class="text-center heading2 wow fadeInUp" data-0="background-image:linear-gradient(0deg, hsl(0, 100%, 50%), hsl(40, 50%, 50%));" data-2500="background-image:linear-gradient(3600deg, hsl(360, 100%, 50%), hsl(400, 100%, 50%));">a personalized Greeting Card!</h1> 
<div id="crescent" class="centered" data-1500="top:-100px;" data-2000="top:-200px;"></div> 
</div> 
<div id="ribbon-left" class="ribbon" data-2500="width:0%;" data-3500="width:50%;"></div> 
<div id="ribbon-right" class="ribbon" data-2500="width:0%;" data-3500="width:50%;"></div> 
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="337px" height="200px"> 
</svg> 
<div id="pattern1" class="centered" data-2500=" height:100%; "data-3500="height:0%;"></div> 
<div id="pattern2" class="centered"></div> 
<div id="eidwish3" class="centered" data-4000="width:0px;height:0px; "data-5000="width:700px;height:700px;"></div> 
<h1 class="text-center headerUp wow lightSpeedIn" data-0="display:none;" data-4000="display:block;"><img src="logo.png" alt="logo"/><span clss="toggle-green">THINK GREEN </span><span class="toggle-blue">PRINT GREEN</span></br><small><i>use "EID-2015" promo code when you checkout</i></small></h1> 
<h1 class="text-center discount wow rollIn" data-0="display:none;" data-4000="display:block;">We are Giving Away 25% discount</h1> 
<a class="button btn-success buy-now text-center wow jello" data-wow-iteration="10" data-wow-duration="3000ms" data-0="display:none;" data-4000="display:block;" href="Greeting Cards">See All Card Designs</a> 
<a class="copyright" href="http://example.com"> 
<img src="http://example.com/logo.png" alt="logo"/> 
<br>Copyright © example.com 2015-16</a> 
</div> 

这是JS:

和CSS:

html, body {padding:0;margin:0; 
k} 
body {overflow:auto; height:7600px; 
} 
#skrollr-body {min-height: 1px; float: left; width:100%; height:100%; 
} 
#skrollrk-body div {overflow:hidden; position:absolute; 
} 
.centered { top:0; bottom:0; left:0; right:0; margin:auto; 
} 
#eidwish1 {background: #000 center center no-repeat ; z-index:5; 
} 
#eidwish2 {background: #000 url('wish2.png') center bottom no-repeat ; z-index:4; box-shadow: 0 0 0 20px #FF0000; background-size: cover; 
} 
#crescent {width:100%; background:url('crescent2.png') no-repeat; margin-top:0px; 
} 
#pattern1 { background:url('wish3.jpg') ; z-index:2; background-attachment:fixed; background-size: cover; 
} 
.ribbon {background:#FF0000; height:40px; top:50%; margin-top:-20px; z-index:3;} 
#ribbon-left {left:0 
} 
#ribbon-right {right:0 
} 
small { color: #fff; 
} 
svg {position:absolute; z-index:5; left:50%; top:50%; margin-left:-170px; margin-top:-180px 
} 
#pattern2 { background:url('wish4.jpg'); z-index:1; background-size: cover 
} 
#eidwish3 {background:#FF0000 url('wish5.jpg') no-repeat center center; z-index:10; border-radius:50%; background-size: cover 
} 

我被困在这许多天。我已经阅读了几乎所有关于此的线索,并试图做同样的事情,但它不能解决我的问题。请帮忙!

回答

1

我完全和你在这个话题上。哦,我希望我可以跟某个人谈论skrollr。以下是我对Skrollr和Mobile的一些了解:

然而,CSS布局,特别是按百分比的宽度,被 相对于布局视口,其比 视觉viewport.Thus元件相当宽的计算最初占用布局视图宽度 ,并且您的CSS将被解释为屏幕为 明显比手机屏幕宽。这可以确保您的网站布局的行为与在桌面浏览器上的布局相同。

布局视口有多宽?每个浏览器都不相同。 Safari iPhone使用980像素,Opera 850像素,Android WebKit 800像素和IE 974像素。

  • 这是一个很大的交易。如果您的桌面和移动版面/视觉视口的大小相同,那么您可以使用触摸系统使您的网站在移动设备中起到实质性的作用。它的外观和功能与桌面滚动非常相似。
  • 如果这些视口的宽度大不相同,那么它是不可行的。我有一个完全由高度控制的网站,所以我运气不好。最后,我在页面底部添加了一些“静态”屏幕。我添加了两个类(.my_website_mobile和.my_website_desktop),我会根据需要display: block;display: none;。我很不高兴,但它工作。
  • 在移动设备上,具有背景图像的div不能有background-position: fixed这对于桌面浏览器移动模拟器工具来说效果很好,但在真正的移动设备上会失败。 (经验教训...)
  • 其他可能会在手机上出现奇怪表现的函数:溢出和可视视口对于位置和大小,我使用了很多vw(视口宽度)和vh(视口高度)高度,而不是% 。这些在桌面上是有意义的,而不是在移动设备上。
  • 提醒,skrollr-body在skrollr初始化时获取style="-webkit-transform: translate(0px, 0px) translateZ(0px); transform: translate(0px, 0px) translateZ(0px);"
  • 如果您在移动设备上,则:skrollr初始化后:<html class="skrollr skrollr-mobile" style="overflow: hidden;" ><body style="overflow: hidden;">
  • 如果您位于桌面设备上,则:skrollr初始化后:<html class="skrollr skrollr-desktop"><body style="height: 12345px;">

我还没有挖掘到您的具体代码,但如果你想多说话,通过电子邮件与我联系(检查我的个人资料...)我完全为它。在我能够排除您的代码故障之前,我需要更换机器和我的位置...