移動端解決懸浮層(主指懸浮footer)遮擋頁面內(nèi)容

這篇文章主要介紹了移動端解決懸浮層(懸浮footer)會遮擋住內(nèi)容的3種方法,對于header的懸浮不在做更多的解釋因為我們都可以通過判斷scrolltop的數(shù)字直接修改header的css樣式中的position的值由relative變?yōu)閒ixed就算是已經(jīng)解決還是比較簡單的趣斤。這篇主要考慮的footer的情況俩块。

在現(xiàn)在的前端頁面中,尤其是移動端浓领,經(jīng)常會需要<footer>模塊懸浮出來玉凯,跟隨頁面的滑動保持定位在頁面的最上方或者是最下方,如下圖所示联贩。


借用圖片

“回復(fù)主題”模塊漫仆,就是跟隨頁面的浮動一直懸浮在頁面的最下方,代碼結(jié)構(gòu)如下撑蒜。
代碼如下:

<section class='footer'>
<div class='reply'>回復(fù)主題</div>
</section>

實現(xiàn)這樣的功能當(dāng)然是利用position:fixed歹啼。但是玄渗,使用position:fixed有一個bug座菠,以懸浮<footer>在最下方為例(懸浮<header>同理),當(dāng)頁面滑到最下方的時候藤树,由于是fixed定位浴滴,脫離了正常文檔流,導(dǎo)致會遮擋住一部分內(nèi)容岁钓。如下所示:


上面左邊是有問題的顯示升略,右邊為正常顯示。那么屡限,如何解決這個問題呢品嚣?在此,我拋磚引玉提出三種我的看法钧大,希望能有更好的方法翰撑。
法一. Javasrript解決
  使用js解決,判定當(dāng)滑動條滑到頁面內(nèi)容的最底端的時候啊央,將原本會脫離文檔流的fixed定位改為不脫離文檔流的relative定位即可眶诈。
  這是我不喜歡的方式涨醋,使用腳本解決問題是最繁重的方法,能用css解決的盡量不使用腳本逝撬,但是也是一種方法浴骂。
代碼如下:

//滾動條在Y軸上的滾動距離
function getScrollTop(){
  return document.body.scrollTop;
}
//文檔的總高度
function getScrollHeight(){ return document.body.clientHeight;
}
//瀏覽器視口的高度
function getWindowHeight(){
var windowHeight = 0;
     if(document.compatMode == "CSS1Compat")
    {
       windowHeight = document.documentElement.clientHeight;
    }
    else
   {
      windowHeight = document.body.clientHeight;
    }
    return windowHeight;
} //滑動監(jiān)聽
  window.onscroll = function(){
//滑到底部時footer定于最下方,假定<footer>的height為60
if((getScrollHeight() - getScrollTop() - getWindowHeight()) > 61)
$('.footer').css('position','fixed');
else
$('.footer').css('position','relative');
}

哎!好復(fù)雜總結(jié)一句話就是計算頁面的總高度減去滾動的高度和窗體的高度得到的數(shù)字如果在某個自己設(shè)定的區(qū)間時則需要改變footer的css樣式宪潮。
法二.給body加上padding-bottom
  給html<body>標(biāo)簽加上一個padding-bottom屬性溯警,這樣正常文檔流的內(nèi)容距離body底部就會產(chǎn)生一個padding-bottom設(shè)置的距離。
  缺點是坎炼,考慮到現(xiàn)在項目上線之后模塊的復(fù)用及經(jīng)常需要合并css文件愧膀,當(dāng)其他頁面不需要這個懸浮塊,就會給不需要<footer>fixed定位的頁面造成負(fù)擔(dān)谣光。
代碼如下:

//假定<footer>的高度為60px
body
{
padding-bottom: 60px;
}


法三.增加同級占位符<div>
  這個方法最為實用檩淋,在<body>層最下面加一層div,這個<div>塊的高度設(shè)置為與<footer>同樣高萄金,不包含任何內(nèi)容蟀悦,這樣就可以起到一個占位符的效果,在頁面最底占據(jù)與<footer>同樣高度的空間氧敢,當(dāng)然頁面滑到最下方日戈,原本的<footer>懸動塊就會與這個占位塊完美重疊。且不會對其他頁面產(chǎn)生影響孙乖。代碼如下:
  唯一缺點是不符合語義化浙炼,增加了無實質(zhì)內(nèi)容的空標(biāo)簽。
代碼如下:

<!--充當(dāng)占位符的div塊唯袄,無實質(zhì)內(nèi)容 -->
<div style="height: 數(shù)值;"></div> <!--fixed懸浮出來的footer -->
<section class='footer'>
<div class='reply'>回復(fù)主題</div>
</section>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末弯屈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子恋拷,更是在濱河造成了極大的恐慌资厉,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔬顾,死亡現(xiàn)場離奇詭異宴偿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)诀豁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門窄刘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人舷胜,你說我怎么就攤上這事娩践。” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵欺矫,是天一觀的道長纱新。 經(jīng)常有香客問我,道長穆趴,這世上最難降的妖魔是什么脸爱? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮未妹,結(jié)果婚禮上簿废,老公的妹妹穿的比我還像新娘。我一直安慰自己络它,他們只是感情好族檬,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著化戳,像睡著了一般单料。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上点楼,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天扫尖,我揣著相機(jī)與錄音,去河邊找鬼掠廓。 笑死换怖,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蟀瞧。 我是一名探鬼主播沉颂,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼悦污!你這毒婦竟也來了铸屉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤塞关,失蹤者是張志新(化名)和其女友劉穎抬探,沒想到半個月后子巾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帆赢,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年线梗,在試婚紗的時候發(fā)現(xiàn)自己被綠了椰于。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡仪搔,死狀恐怖瘾婿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤偏陪,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布抢呆,位于F島的核電站,受9級特大地震影響笛谦,放射性物質(zhì)發(fā)生泄漏抱虐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一饥脑、第九天 我趴在偏房一處隱蔽的房頂上張望恳邀。 院中可真熱鬧,春花似錦灶轰、人聲如沸谣沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乳附。三九已至,卻和暖如春伴澄,著一層夾襖步出監(jiān)牢的瞬間许溅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工秉版, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留贤重,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓清焕,卻偏偏與公主長得像并蝗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子秸妥,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案滚停? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評論 1 92
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,111評論 25 707
  • 移動端業(yè)務(wù)開發(fā),iOS 下經(jīng)常會有 fixed 元素和輸入框(input 元素)同時存在的情況粥惧。 但是 fixed...
    新林吃遍世界閱讀 4,490評論 0 0
  • 1. 總有人說突雪,只要是等待起惕,不管長短,都會覺得漫長咏删。 可是惹想,如果讓你等的人是你喜歡的人呢? 最近一位讀者在后臺跟我...
    生活暖暖閱讀 12,329評論 2 5
  • 小城里新辦了一所初中學(xué)校督函,由于第一屆的教學(xué)質(zhì)量特別高嘀粱,在第二屆招生的時候立即吸引了一大批優(yōu)秀的畢業(yè)生激挪。 他,一個從...
    清九公子閱讀 553評論 1 1