首頁 web前端 css教學 如何解決行動端fixed元素不顯示的問題

如何解決行動端fixed元素不顯示的問題

Aug 02, 2018 am 10:44 AM
css html5

這篇文章要跟大家介紹的內容是關於如何解決行動端fixed元素不顯示的問題,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

上幾週給公司app做了一個html5嵌套頁面,頁面並不復雜,展示內容較多,底部有footer

html結構如下

<style>
  .main{
    position: absolute;
    top: 0;
    bottom: 88px;
    left: 0;
    width: 100%;
    overflow-y: auto;
  }
  footer{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
  }
<style>
<body>
  <div class="main">
    ...
  </div>
  <footer></footer>
</body>
登入後複製

內容調試完成後插入了一些其他項目的事,後來app開發告訴我要監聽頁面scroll讓我不要用定位佈局。我看頁面上沒有可以輸入的地方,不會出現fixed元素亂跑的事情。於是main部分改成了普通佈局,然後就出了bug:
安卓上一切正常,IOS10上有時進入頁面的時候footer不顯示,拖曳或者雙擊之後才會顯示(其他版本的IOS測試說有的又是正常的)

遇到這個問題第一個想法就是把footer的z-index調高,設定到1000,結果無用。仔細觀察不顯示的頁面他們的內容部分都很短,沒有撐到footer的位置,猜想是body高度問題,給body加上樣式調試

background: #fafafa;
min-height: 100vh;
登入後複製

整個頁面背景確實變灰了,但是footer依舊不顯示

和同事討論之後,猜測是手機渲染出了層級問題,一開始footer沒有渲染出來,click或者touchmove之後頁面重新渲染footer就正常了。
當時已經臨近上線了,為了盡快解決bug不折騰,為footer設定了tanslateZ,這樣相當於創建了一個獨立的層級

-webkit-transform: translateZ(1px)
transform: translate(1px)
登入後複製

頁面上還有1個彈層設定了z- index,footer有了translate彈層覆蓋不住,說明tranzlateZ層級更高。彈層設定了translateZ(2px)就正常了
這個方法不太優雅,但好處在不改變佈局,情況緊急的時候還是適用的

相關文章推薦:

css中聖杯佈局和雙飛翼佈局的介紹(附代碼)

css中如何實現浮動的元素換行
#

以上是如何解決行動端fixed元素不顯示的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++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教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
vue中怎麼用bootstrap vue中怎麼用bootstrap Apr 07, 2025 pm 11:33 PM

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

了解HTML,CSS和JavaScript:初學者指南 了解HTML,CSS和JavaScript:初學者指南 Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML,CSS和JavaScript的角色:核心職責 HTML,CSS和JavaScript的角色:核心職責 Apr 08, 2025 pm 07:05 PM

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

bootstrap怎麼插入圖片 bootstrap怎麼插入圖片 Apr 07, 2025 pm 03:30 PM

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

bootstrap怎麼寫分割線 bootstrap怎麼寫分割線 Apr 07, 2025 pm 03:12 PM

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

bootstrap怎麼設置框架 bootstrap怎麼設置框架 Apr 07, 2025 pm 03:27 PM

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

bootstrap怎麼調整大小 bootstrap怎麼調整大小 Apr 07, 2025 pm 03:18 PM

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-

H5與HTML5相同嗎? H5與HTML5相同嗎? Apr 08, 2025 am 12:16 AM

"h5"和"HTML5"在大多數情況下是相同的,但它們在某些特定場景下可能有不同的含義。 1."HTML5"是W3C定義的標準,包含新標籤和API。 2."h5"通常是HTML5的簡稱,但在移動開發中可能指基於HTML5的框架。理解這些區別有助於在項目中準確使用這些術語。

See all articles