2013-10-10 92 views
0

我有一個相當奇怪的問題,我遇到與jquery手機/手機和IOS。jquery手機手機的垂直內容限於視口在IOS

我用html/css創建了一個web應用程序,到目前爲止它的工作原理與android上的預期完全相同(內容在視口中垂直滾動)但是在ios上(我的測試平臺是iphone 4s)垂直限於視口。它滾動得很好,但是所有位於視口垂直下方的內容都會被截斷,IE將顯示的唯一內容就是我在頁面上半部分看到的內容,視口下面沒有任何內容會顯示。

從我的CSS文件的摘錄:

html, body { 
min-height:100%; 
overflow-x:hidden; 
background-attachment:fixed; 

}

body { 
-webkit-touch-callout: none;     
-webkit-text-size-adjust: none;    
-webkit-user-select: none;    
-webkit-font-smoothing: antialiased; 
-webkit-backface-visibility: hidden; 
-webkit-overflow-scrolling: touch; 

}

和我的HTML頁面,在頭部分:

<meta charset="utf-8" /> 
    <meta name="format-detection" content="telephone=no" /> 
    <meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1 minimum-scale=1; user-scalable=no" /> 

這裏有一個夫婦的問題截圖時間在行動:

app shot 1, bottom of content is cut off

app shot 2, again, bottom content of viewport cut off

你可以從屏幕截圖看到,梯度「應該」填充整個頁面(即擴大與內容),並且它不爲在視口邊緣似乎有一個很難切斷的情況,因此不會顯示任何多頁內容。雖然在這些屏幕截圖中不可見,但垂直滾動條正在顯示,滾動功能正常,只是沒有內容顯示在「下方」。

我沒有使用iScroll或任何其他滾動腳本,只是fyi。

我不確定這是否是某種高度問題,因爲我有最小高度:100%;在頁面的html和body上設置,還是在meta標籤中存在某種width-device-width問題?我也不相信我有任何overflow-y:隱藏集,因爲這會限制其他平臺上的內容,並且它們完美地工作。

我覺得我必須缺少真正的基本的東西,因爲我敢肯定,這是某種的CSS設置某處的限制條件的內容,只有視口,一個詳盡的谷歌搜索可以找到沒有類似的問題。

回答

0

檢查您的應用默認方向是否設置爲縱向而不是橫向,或者是否支持縱向方向。它幾乎看起來就像它在橫向模式下顯示應用程序一樣,而其畫面清晰。您可以在目標>常規選項卡或info.plist中找到可用的方向。

+0

嗨喬,我檢查了我的Xcode項目設置,我選擇的唯一方向是肖像。我還查看了目標>信息部分,並且支持的方向也有肖像。 問題,即使我只是意外地選擇了風景,它是不是會滾動兩個方向,以顯示不適合視口的內容? 我也注意到在視口窗口中有一個很淺的灰色背景(內容塊默認顏色?),我不確定這是否重要或不提。 – Nick

+0

是的,如果你不小心將它設置爲橫向,它通常會滾動兩個方向,但是因爲你將overflow-x隱藏起來,所以它會阻止你這樣做。你的元標記格式也很奇怪。嘗試

+0

嗨,喬,我怎麼樣元標籤不同於您發佈的內容?他們看起來和我一樣。我一定不清醒。 滾動功能工作正常,我只是不明白爲什麼在IOS下面沒有任何東西顯示在屏幕上。 更新:我只是更新了我的xcode到5.0,phonegap到3.0,並且我在xcode中檢查了我的方向,而且我仍然遇到這個問題。 我認爲我的下一個測試步驟是構建一個新的phonegap項目,並省略jquery mobile,並查看我是否可以獲取包含大量文本的頁面以正確滾動/顯示。然後我會知道這是否是一個jQuery的移動問題。 – Nick

0

所以我修復了它,奇怪的是,我不完全確定我做了什麼來解決這個問題。

我將.ui-page選擇器從jquery-mobile文件移動到我自己的css文件中,從html選擇器中移除最小高度並從html,身體選擇器和繁榮中消除溢出-x,現在它似乎按預期工作。古怪......但是,嘿,勝利是一場勝利。 :)