css中手機端瀏覽器 fixed 定位問題解決辦法

來源:互聯網
上載者:User


首先說下開發模式,剛剛開始接觸,基本沿用web端開發方式,目前開發模式上沒有找到的適合的,現在基本這樣:
1,電腦nginx設定管理員
3,電腦和手機連同一個區域網路,
2,android root 和 iphone越獄 來綁hosts,訪問電腦配置的環境。
但是 UC,QQ瀏覽器緩衝嚴重,根本對hosts的檔案的修改無動於衷。。不得每次修改將檔案更到外網修改,調試起來相當麻煩。

一個問題是有些根本不支援fix定位,這個只有綁定js touchmove事件相容了。
最令人頭疼的是不完全支援。。
首先遇到的問題是在fix定位的元素內不能有 position:relative 或者 absolute的元素,如果有,這些元素不會受到fixed的祖先元素的限制,會根據body定位,滾動到最底部的時候才跟著fixed元素一起滾動。這個的解決就是去掉那些定位,換用其他定位方式。。
另一個問題fix定位後,fix的浮層根本不顯示,只有滾動到最底部才顯示出來,然後可以正常fixed定位。這個層是js動態添加,我曾經試過在js裡 el.style.display = ‘none’;el.style.display = ‘block’; 但是沒有任何作用,最終解決方案是在css裡設定display:none; 然後動態插入body後設定 style.display = ‘block’;這個問題解決。
在解決這個問題後,還有一個問題是這個fix的層在沒有滾動的時候可以正常點擊,但滾動後點擊這個層根本沒有反應,這個層會被透過就像設定了 : pointer-eventes:none; 一樣,點擊到了層的下一層。這個的解決是
將 在viewport添加 user-scalable=no:

 代碼如下 複製代碼

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />

變成:

 代碼如下 複製代碼

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0 user-scalable=no"/>

恩,fix定位基本這些。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.