我遇到了一些非常奇怪的行爲,並且在我測試的每個瀏覽器中都不一致。CSS:位置:固定在位置:絕對
我有一個相當複雜的佈局,但主要的問題就出在這裏:
<div id="drop">
<div id="header"></div>
</div>
#drop
有position:absolute
和z-index:100
#header
有position:fixed; top:60px;
正如我開始向下滾動瀏覽器會忽略position:fixed
規則。如果我從#drop
中刪除或以上兩種樣式,則Chrome開始遵守position:fixed
規則。
無法在Ubuntu Chrome 23.0.1271.97上運行,並在Mac Chrome 25.0.1364.99上看到相同的行爲。我的朋友使用Ubuntu Chrome 25.0.1364.68測試版,它對他來說工作正常。我已經測試了它在Firefox上,它有點(有其他症狀)
有沒有人聽說過這個錯誤?或者任何人都可以重現它?
編輯
我使用的OpenLayers地圖與position:fixed
另一格,如果我刪除層或至少將其更改爲display:none
那麼這個奇怪的錯誤就會消失。
編輯
注意到了這個bug的存在時,如果我改變縮放級別來回,則位置自行調整至適當的行爲。對我而言,這表示webkit問題無法在滾動中執行某些內部回調函數。
另一個非常奇怪的是,我有#header
裏面的幾個鏈接,他們工作,如果我只是點擊預期的位置,即使div沒有出現在那裏。總體來說我注意到它只是渲染已經壞了。如果在任何時候我強制瀏覽器通過調整窗口大小或改變縮放比例來重新渲染,或者只是選擇全部,那麼標題欄會跳轉到正確的位置,但不會保持不變。
您是否在爲固定元素設置位置值?即頂部:0;左側:0; ? – lukeocom 2013-03-01 08:26:06
是的,很抱歉沒有提到它。我有'頂部:60px;'在固定的。將更新OP。 – Mikhail 2013-03-01 17:33:49
我以前沒有遇到過這個問題,也不能重現它。http://jsfiddle.net/be53j/ – lukeocom 2013-03-05 02:07:13