首頁 web前端 H5教程 行動端解決懸浮層(懸浮header、footer)會遮擋住內容的3種方法_html5教學技巧

行動端解決懸浮層(懸浮header、footer)會遮擋住內容的3種方法_html5教學技巧

May 16, 2016 pm 03:46 PM
行動端

在現在的前端頁面中,尤其是移動端,經常會需要將

或者是
模組懸浮出來,跟隨頁面的滑動保持定位在頁面的最上方或者是最下方,如下圖所示。

「回覆主題」模組,就是跟隨頁面的浮動一直懸浮在頁面的最下方,程式碼結構如下。


複製程式碼
程式碼如下:

...
程式碼如下:


...
...

實現這樣的功能當然是利用position:fixed。但是,使用position:fixed有一個bug,以懸浮

在最下方為例(懸浮
同理),當頁面滑到最下方的時候,由於是fixed定位,脫離了正常文檔流,導致會遮擋住一部分內容。如下圖所示:

上面左邊是有問題的顯示,右邊是正常顯示。那麼,如何解決這個問題呢?在此,我拋磚引玉提出三種我的看法,希望有更好的方法。

法一. Javasrript解決


  使用js解決,判定當滑動條滑到頁面內容的最底端的時候,將原本會脫離文檔流的fixed定位改為不脫離文檔流的relative定位即可。

  使用腳本解決問題是最繁重的方法,能用css解決的盡量不使用腳本,但是也是一種方法。
複製程式碼

程式碼如下:


////Y軸上的捲捲在Y軸上滾動距離
function getScrollTop(){
  return document.body.scrollTop;
}
//文檔的總高度
function getScrollHeight(){(){(){(){(){()

  return document.body.clientHeight;
}
//瀏覽器視口的高度
function getWindowHeight(){
var windowHeight = 0;
  〜 . = "CSS1Compat")
    {
       windowHeight = document.documentElement.clientHeight;
    }
    else
   {
      windowHeight = document.body.clientHeight;
    }
return windowHeight;
}

//滑動監聽
  window.onscroll = function(){
//滑到底部時footer定於最下方,假定

的height為60
if((getScrollHeight() - getScrollTop() - getWindowHeight()) > 61)
$('.footer').css('position','fixed');
else

$('.footer').css ('position','relative'); }

 法二.給body加上padding-bottom


  為html

標籤加上一個padding-bottom屬性,這樣正常文件流的內容距離body底部就會產生一個padding-bottom設定的距離。
  缺點是,考慮到現在專案上線之後模組的複用及經常需要合併css文件,當其他頁面不需要這個懸浮塊,就會給不需要
fixed定位的頁面造成負擔,不推薦使用這種方法。
複製程式碼

程式碼如下:


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

法三.增加同級佔位符


  個人認為這個方法最為實用,在

塊之外再包裹一層div,然後再增加一個與
同級的
塊,這個
塊的高度設置為與同樣高,不包含任何內容,這樣就可以起到一個佔位符的效果,在頁面最底佔據與
同樣高度的空間,當然頁面滑到最下方,原本的
懸動塊就會與這個佔位塊完美重疊。並且不會對其他頁面產生影響。程式碼如下:
  唯一缺點是不符合語意化,增加了無實質內容的空標籤。
複製程式碼
程式碼如下:






 以上是我想到的三種方法,才疏學淺,文中若有紕漏錯誤或者有更好的方法,萬望告知,感謝。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1266
29
C# 教程
1239
24
如何在Vue專案中使用行動端的手勢操作 如何在Vue專案中使用行動端的手勢操作 Oct 08, 2023 pm 07:33 PM

如何在Vue專案中使用行動端的手勢操作隨著行動裝置的普及,越來越多的應用程式需要在行動端上提供更友善的互動體驗。而手勢操作是行動裝置上常見的互動方式之一,它能夠讓使用者透過觸控螢幕來完成各種操作,如滑動、縮放等。在Vue專案中,我們可以透過第三方函式庫來實現行動手勢操作,以下將介紹如何在Vue專案中使用手勢操作,並提供具體的程式碼範例。首先,我們需要引入一個專門用

解決Vue行動端多觸點問題 解決Vue行動端多觸點問題 Jun 30, 2023 pm 01:06 PM

在行動裝置開發中,我們經常會遇到多手指觸控的問題。當使用者在行動裝置上使用多個手指滑動或縮放螢幕時,如何準確地識別和回應這些手勢是一個重要的開發難題。在Vue開發中,我們可以採取一些措施來解決行動端多手指觸控問題。一、使用vue-touch插件vue-touch是用於Vue的手勢插件,它可以方便地處理移動端的多手指觸控事件。我們可以透過npm安裝vue-to

Vue開發中如何解決行動端雙擊放大問題 Vue開發中如何解決行動端雙擊放大問題 Jun 29, 2023 am 11:06 AM

隨著行動端設備的普及,使用Vue進行行動端開發已經成為了常見的選擇。然而,我們在行動端開發過程中常常會面臨一個問題,就是雙擊放大。本文將針對此問題,探討Vue開發中如何解決行動端雙擊放大的具體方法。行動端雙擊放大問題的出現​​,主要是因為行動裝置在觸控螢幕上進行雙擊操作時,會自動放大網頁的縮放比例。對於一般的網頁開發來說,這種雙擊放大通常是有好處的,因為它可以

Vue實現行動端響應式佈局的完整指南(Vant) Vue實現行動端響應式佈局的完整指南(Vant) Jun 09, 2023 pm 04:09 PM

Vue實現行動端響應式佈局的完整指南(Vant)行動端響應式佈局是現代Web開發中非常重要的一環,隨著行動裝置的普及,如何快速響應用戶手機螢幕的大小和分辨率,成為了前端工程師必須面對的挑戰之一。 Vue框架自備響應式佈局的特性,同時也有不少第三方函式庫來幫助我們實現響應式佈局。其中,Vant元件庫是一款Vue行動裝置UI庫,因其十分強大、易用和客製化,並且完全符合移

使用Python和百度地圖API實現行動端地圖定位功能的方法 使用Python和百度地圖API實現行動端地圖定位功能的方法 Jul 29, 2023 pm 11:33 PM

使用Python和百度地圖API實現行動端地圖定位功能的方法隨著行動網路的發展,地圖定位功能在行動裝置應用程式中變得越來越常見。 Python作為一種流行的程式語言,也可以透過使用百度地圖API來實現行動端地圖定位功能。以下將介紹使用Python和百度地圖API實作地圖定位功能的步驟,並提供對應的程式碼範例。步驟一:申請百度地圖API密鑰在開始之前,我們首先需要申請

Vue開發:優化行動裝置手勢縮放卡頓問題 Vue開發:優化行動裝置手勢縮放卡頓問題 Jun 30, 2023 pm 04:33 PM

Vue開發中如何解決行動端手勢縮放頁面卡頓問題近年來,行動端應用的普及使得手勢操作成為使用者互動的重要方式。在Vue開發中,實現行動端手勢縮放功能往往會遇到頁面卡頓的問題。本文將探討如何解決這個問題,並提供一些最佳化策略。在了解手勢縮放原則在解決問題之前,我們首先需要了解手勢縮放的原則。手勢縮放透過監聽觸控事件來實現,當使用者用兩個手指滑動螢幕時,頁面會按照手指的滑

如何處理PHP表單中的行動端和響應式設計 如何處理PHP表單中的行動端和響應式設計 Aug 10, 2023 am 11:51 AM

如何處理PHP表單中的行動端和響應式設計隨著行動裝置的普及和使用頻率的增加,以及越來越多的用戶使用行動裝置存取網站,適配行動裝置成為了一個重要的問題。在處理PHP表單時,我們需要考慮如何實現行動端友善的介面和響應式設計。本文將介紹如何處理PHP表單中的行動端和響應式設計,並提供程式碼範例。 1.使用HTML5的響應式表單HTML5提供了一些新特性,可以輕鬆實現響

Vue開發中如何解決行動端滑動衝突問題 Vue開發中如何解決行動端滑動衝突問題 Jun 29, 2023 pm 12:24 PM

Vue開發中如何解決行動端滑動衝突問題行動裝置應用的普及,使得行動端開發變得愈發重要。在開發行動端應用時,常常會遇到滑動衝突的問題。在Vue開發中,我們可以利用一些技巧來解決這個問題,確保使用者的滑動體驗。使用單一滑動方向在行動端,使用者往往透過上下或左右滑動來瀏覽內容。如果我們的應用程式中有多個滾動區域,並且允許使用者在同一時間內在不同區域進行滑動,就會產生滑動衝突。

See all articles