2014-03-31 133 views
3

我正在嘗試爲Windows Phone 8開發基於Web的應用程序。我有一個帶有兩個div的網頁,樣式爲position:fixed。如果我在Windows Phone上打開Internet Explorer應用程序並導航到我的網頁,則固定元素將完美顯示。但是,當我在原生應用程序中查看WebBrowser WP8控件中的網頁時,position:fixed樣式完全被忽略。CSS:position:fixed not working on Windows Phone

我也注意到,我所有的CSS轉換也只能在完整的Internet Explorer應用程序中工作。這不是一個大問題,但缺乏固定的定位是一個真正的問題。爲什麼WebBrowser這樣做,並有任何解決方法?

我知道固定定位和轉換在WP7中無法工作,我想知道WP8 WebBrowser控件是否具有與WP7 WebBrowser控件相同的代碼。

回答

3

固定定位正在使用CSS固定定位表現 不同的Internet Explorer之間對Windows Phone的OS 8.0 相比,Internet Explorer中的Windows Phone OS 7.1定位

元素。在互聯網 資源管理器Windows Phone OS 8.0(以及桌面)上,固定的 元素相對於瀏覽器 窗口的客戶端視圖定位。這意味着如果某個元素在右下角 處固定在視圖中,即使用戶向上,向下,向左或向右滾動頁面,它也始終會在右下角 的角落顯示爲固定。 在Windows Phone OS 7.1上,固定元素相對於文檔本身 定位,並且當用戶滾動 頁面時可能不會保持在視圖中。這意味着如果某個元素相對於文檔右下角的底部 是固定的,則用戶只有在將 導航到網頁的右下角時纔會看到它。

- From microsoft's website

可能的解決方法是,

使用用於非固定內容的div容器和應用style="overflow: scroll"和固定大小。 See herehere適用於基於JavaScript的固定定位解決方案。

+1

我沒看過那個文件。問題是我使用的是Windows Phone 8,因此根據該文檔,固定元素應該正常運行。再次,他們在完整的瀏覽器中進行操作。我可能不得不使用你的解決方法滾動不那麼順利。 – msbg

+0

@msbg你試過了嗎? – newTag

+0

是的,但滾動不平滑 – msbg

0

我也掛在這個問題上。看起來似乎無法創建一個固定的元素,並且在每次滾動看起來更糟糕之後定位元素(嘗試使用手機上的jQuery手機在線示例)。

我用style =「overflow:scroll」和固定大小爲我的非固定內容使用div容器「解決了」問題。這對我有效。但在這個容器中滾動看起來不像本地滾動。

希望幫助