我一直在努力學校的移動網站,並且我似乎遇到了移動Safari中的滾動問題。如果您在iPhone上訪問www.caj.or.jp,它將滾動瀏覽頁面底部,偶爾會在藍色背景下隱藏某些頁面內容。使用Safari檢查器,似乎我滾動過<html>
標記。但是這是當Safari滾動條出現時。滾動條在上方滾動時不會閃爍,只有在經過頁面末尾時纔會閃爍。任何幫助,將不勝感激。iPhone Safari滾動超出html標記
回答
快速解決問題的方法是添加這個CSS:
body {
position:relative;
}
我可以解釋「什麼」正在發生的事情,但它似乎是一個非常特殊的情況和我的解釋「爲什麼」是發生的可能並不確切。希望有人能夠在評論中解釋它或糾正我。
所以「發生了什麼」?
首先,它可以更容易理解在Windows上使用此屏幕截圖所發生的情況,因爲滾動條總是可見的。您會看到窗口有一個滾動條,並且它內部是帶滾動條的另一個元素。這個內在元素確實是<html>
,因爲它有一個height: 100%
(就像<body>
)。所以,正如你所說的,在「下面」有一些東西將一個滾動條添加到窗口。
這造反元件是<div class="ma-container">
。它位於頁面的底部,在<html>
的內容下面。它有一個position: absolute
但沒有任何框偏移(頂部,左側,底部或右側屬性)。如果某個元素沒有任何方塊偏移量,則瀏覽器會將其定位在position: static
(默認定位)的位置,但仍然會從正常的頁面流中移除。
重要的是它將被定位在與其最近的「位置塊」相關,即具有非靜態位置值的第一父母。如果沒有父母是定位塊,那麼「初始包含塊」(看起來像<html>
的父親)將成爲定位塊。
所以,如果我們總結一下在你的情況發生了什麼:因爲.ma-container
有一個絕對位置,但沒有一個盒子偏移量(頂部,左邊,...),瀏覽器確定元素將在哪裏有一個position: static
,然後將其定位爲「相對」「初始包含塊」。在這種情況下,div應該是「初始包含塊」頂部的1298個像素。所以瀏覽器將它定位在那裏,因爲這個元素縮小了100%的高度。
所以要解決您的問題,只需將<body>
定位元素和div將被定位在滾動<body>
內。
我希望這可以幫助你莫名其妙。
(只是爲了其它附加信息,請參閱本文來了解到底爲什麼html
和body
有一個滾動條,就像如果他們有一個隱含的overflow-y: auto
:CSS overflow-x: visible; and overflow-y: hidden; causing scrollbar issue)
非常感謝@Xavier。你的徹底解釋是非常有幫助的。在@CaioTarifa的幫助下,我從'html'標籤中刪除了'overflow-x:hidden'後,我仍然有些失望,滾動條仍然沒有顯示出來。現在將'position:relative'添加到'body'標籤後,滾動條會恢復。在我們購買了我們的搜索引擎之後,我對我們頁面中的'.ma-container'除外並不滿意,這爲我改善了這種情況。現在我已經離開'.ma-container'沒有偏移了。再次感謝你的幫助。 – naterudd
- 1. iPhone Safari瀏覽器:滾動一個HTML容器內的列表
- 2. html對象標記的滾動位置
- 3. ios/safari/iPhone上的樣式HTML選擇標記
- 4. 附上超出其他標記的HTML標記的文本
- 5. 單指滾動對iPhone的Mobile Safari
- 6. HTML對象標記刪除滾動條溢出
- 7. UI滾動像iPhone HTML 5
- 8. 滾動/滾動記分牌HTML
- 9. 溢出滾動不顯示OL標記上的滾動
- 10. 檢測HTML元素是否滾動超出隱藏溢出
- 11. 動態標記,不滾動
- 12. 滾動html表時滾動表標題
- 13. 爲什麼不在移動webkit的html標記上溢出滾動?
- 14. HTML視頻標籤Safari
- 15. Safari水平滾動
- 16. Safari滾動故障
- 17. jquery滾動到div標記
- 18. setInterval在iPhone/iPad(移動Safari)在滾動期間暫停
- 19. HTML 5 <Video>標記不與iPhone合作,但Safari瀏覽器/ iPad的
- 20. iphone dev - 活動指標滾動表
- 21. jQuery滾動移動Safari
- 22. HTML/CSS Div超越其關閉標記
- 23. displaytag導出顯示整個HTML標記(用於超鏈接)
- 24. 如何使用html的超鏈接標記顯示servlet輸出
- 25. 防止在ipad/iphone safari中彈性滾動,但允許內容滾動
- 26. 手機safari爲html音頻標記呈現空白
- 27. 複製iPhone Safari的標籤
- 28. 在iphone webview中的HTML跨度標記
- 29. 在IOS7中顯示html標記值iphone
- 30. 輸出HTML的編碼標記爲HTML
你爲什麼不刪除屬性'溢出-X:隱藏;'從'html'標籤? –
謝謝,那是原因。現在,我必須找到另一種方法來防止他們橫向滾動,否則我必須允許它。編輯:它看起來像在我的'#pageContainer' div上放置'overflow-x:hidden'將會訣竅。 – naterudd