移動端開發使用css中使用position將一個div固定瀏覽器底部,會擋住內容,該怎麼完美的解決?

使用position:fixed,把一個div固定顯示在手機瀏覽器的底部,但是當用戶滑到最下面的時候,會擋住一部分內容的顯示(因為fixed脫離了文檔流),該怎麼科學合理的解決這個問題?現在想到比較能解決問題的辦法是加一個相同高度的空的div,或者使用js判斷瀏覽器到最下方的時候將該div拉迴文檔流,


很簡單。給網頁底部加一個和底部的固定元素的高度的padding。這樣滑到最底部的時候就不會遮擋內容了


你看看這個能否幫你解決問題:

  • Ratchet教程:構建自己的底部Bar_mobile, Ratchet 教程_w3cplus

  • Ratchet教程:構建自己的頂部Bar_mobile, Ratchet 教程_w3cplus

  • 【轉載】Web移動端Fixed布局的解決方案_mobile 教程_w3cplus


我自己的一貫做法,

1.把整個HTML,body的高度固定在100%高度,overflow hidden,

2.裡面一個div class main放主要內容,flex布局

3.class main div裡面放置主體內容的div class content 設置flex 1,overflow-y auto和div class banner 設置需要的高度

基本這樣就好了,手機端對flex只需考慮新舊語法問題就好,不用考慮支持不支持


我一直也是寫一個空div,高度和固定的底部高度一樣。


加個margin是最直接的方法了吧。


我只能想到下面幾種辦法:

1,給容器加個padding-bottom或者margin-bottom,這個用的最多;

2,用js寫成向下滑動時隱藏,點擊屏幕或者向上滑動時顯示,這種方式的優點是用戶瀏覽內容時,不會被遮擋;

3,判斷高度是否到達底部,控制position,一般浮動導航這麼做。


額。。習慣做法。。body下面2個div 定位都用絕對。第二個fixed 第一個bottom值寫第二個的高度,然後剩餘內容寫到第一個div裡面 所有滾動都在第一個div 裡面。如果有頂部條,同理實現,具體就是用類似iscroll 的寫法


最近也遇到這個問題,我的解決方法是給body的子元素加padding-bottom值,該值和底部固定元素等高;我也試過用margin-bottom,它失效


最方便的方法,給中間的內容加個padding-top就好了


最近做項目遇到過這種情況。

建議樓主可以把footer 這個單獨拿下來,寫在外面,其他的div 寫在main這個裡面

.main{

header{}

section{}

}

footer{}

然後.mian高度定位100% position:absolute, bottom取footer的高度,讓裡面設置滾動.

footer 讓其絕對定位。設置在頁面底部


. div{

margin- bottom:[d]px;

}

把包含底部最大的那個塊元素,加上這個。

距離根據底部元素的高度確定。


搜索 sticky footer,有好幾種純css解決方案,兼容IE6哦


最近項目剛開始做,前兩天就碰到了這樣的問題,給設置position:fixed屬性的元素加個父元素,用height或者padding將其撐開。看看某動在移動端的設置。


推薦閱讀:

Mac 上最好的網頁編輯工具是什麼?
chrome手機模擬模式的時候,發現頁面會比正常的小很多,然後每次都要去瀏覽器設置調整字體,如何避免?
我想搭建一個網站,請問我需要什麼技術?目前前後端哪一些技術比較流行?有什麼資料可以推薦的嘛?
shim和polyfill有什麼區別?
qq空間背景音樂是如何實現頁內跳轉時不間斷播放的?

TAG:前端開發 | HTML | CSS |