2013-05-20 89 views
0

我正在嘗試jQuery在導航欄上的示例,但它不能按預期工作。jQuery Mobile導航欄無法縮放到正確大小

將它加載到我的筆記本上時,導航欄的大小是完美的。 當我在手機上試用時,按鈕會被裁剪。

下面是簡單的代碼:

<div data-role="footer">  
    <div data-role="navbar"> 
     <ul> 
      <li><a href="#">One</a></li> 
      <li><a href="#">Two</a></li> 
      <li><a href="#">Three</a></li> 
     </ul> 
    </div><!-- /navbar --> 
</div><!-- /footer --> 

和這裏就是我得到:

Desktop

Mobile

難道我做錯了什麼?

+1

你能告訴我們你正在使用自定義導航欄的CSS嗎?不幸的是,如果沒有它,我們無法告訴你。 – Gajotres

+1

它可能是jQuery Mobile CSS庫的衝突,就像你之前的問題。 – Omar

+0

我使用這個主題沒有任何編輯:https:// github。com/sgrebnov/jqmobile-metro-theme – StepTNT

回答

0

可能是下列問題之一:

  1. 您jQuery.Mobile的CSS是過時的和/或不同版本比jquery.mobile.js文件所使用。
  2. 你已經添加了一些自定義的CSS某處,這是打破這一點。
  3. 這是我的投票最有可能:頁面中的其他地方,您有不匹配或未關閉的標籤,並且瀏覽器正在補償它。它正在用桌面瀏覽器正確補償它(它們傾向於更好地處理格式錯誤的代碼),並且不能通過手機瀏覽器正確補償。結果是不可預知的錯誤。
  4. 您的外部文件未按正確的順序鏈接。 (似乎不太可能是你的情況,除非2.此列表的也是如此)。
  5. 由於.ui-content中沒有內容,所以瀏覽器沒有正確渲染。 (同樣,不太可能,但你可以嘗試添加一些Lorem Ipsum,看看是否修復它)。

如果不是上述情況,那麼要麼觸及了jquery.mobile中一些不明確的錯誤,要麼就是有一些其他非常具體的問題,您以某種方式設法公開。在這兩種情況下,你可以添加應該修復它(也許使用這個媒體查詢內將是明智的)自定義CSS:

下列情況之一的將工作:

.ui-navbar ul { 
       white-space:pre-wrap; 
       } 
// The above introduces a margin that may not be acceptable 
.ui-navbar .ui-btn-inner, .ui-navbar .ui-btn-text { 
       font-size:12px /* or something else that works */ !important; 
} 
// The above may look too small 
.ui-navbar li { 
       max-width:33%; 
       } 

上述所有可能引入在各種設備上出現問題,因此建議您調試代碼並找出造成這種情況的原因。請記住,最新的jquery.mobile版本聲稱已修復所有與視覺導航欄有關的錯誤,所以這不應該發生。以此作爲觀察的上下文,請記住可引發意外視覺缺陷的微妙錯誤的數量很多。對於jquery.mobile來說,這可能比大多數其他框架更爲真實,因爲javascript在頁面樣式中被大量使用。但是,這不可能是需要大量工作和/或代碼重寫/黑客攻擊的事情。一旦你做到了,它應該是明顯而簡單的。

+0

我使用VisualStudio的NuGet添加了jQM主題,因此jQM版本是我使用的主題測試的版本。 我有唯一的自定義CSS用於設置特定按鈕的樣式,所以我不認爲它可能與此問題有關。 我查找了格式不正確的標籤,我發現我有2個''標籤,但刪除了一個並沒有改變結果。 ''是從主題樣本中複製的,因此我假設每個文件都以正確的順序鏈接。 其實有一個比賽,我剛剛從屏幕上刪除它。 你的第一個CSS規則使文本消失,其他人不會修復它:( – StepTNT

+0

是否有任何應用程序的Windows手機,或任何方式,看到計算的風格,在那裏呈現?這至少會告訴你什麼css規則導致了這個問題,另外,我沒有意識到你使用的是jQM Metro主題,它應該沒有關係,但是可能會有一些調整讓我的答案不準確。其中的調整會導致css在預期的目標平臺上渲染不正確 – user1167442

+0

您也可以嘗試 - 只是爲了踢 - 採取我的最後一個CSS規則,並將其更改爲30%,值得一試。 – user1167442