IE捉迷藏bug詳解

2021-06-18 22:16:13 字數 1063 閱讀 7582

ie捉迷藏bug(peek-a-boo),之所以起這個名稱是因為在某些條件下文字看起來消失了,只有在重新裝載頁面時才再度出現。出現這個bug的條件是:乙個浮動元素後而跟著一些非浮動元素,然後是乙個清理元素,所有這些元素都包含在乙個設定了背景顏色或影象的你元素中。如果清理元素砬到了浮動元素,那麼中間的非浮支元素看起來消失了,隱到了父元素的背景顏色或影象後面,只有在重新整理頁面時才重新出現。

幸運的是,有許多方法可以解決這個bug。最容易的方法可能是去掉父元素上的背景顏色或影象。但是,這常常是不可行的。另乙個方法是避免清理元素與浮動元素接觸。如果視窗元素應用了特定的尺寸,那麼這個bug似乎就不會出殃了。如果給視窗指定行高,這個bug也不會出現。最後,將浮動元素和容器元素的position屬性設定為relative也會減輕這個問題。

解決方案

在使用一些小技巧來解決這個bug之前,應當聽聽來自positioniseverything.net的**專家的建議,positioniseverything.net是網上最早開始研究css在瀏覽器下相容性的組織之一,而捉迷藏bug也是由positioniseverything首先整理出來的,對於此問題,應當從兩方面入手:一是使用技巧去解決bug,二是通過一些編碼習慣,預防捉迷藏情況的發生。positioniseverything提供了4個途徑供大家來預防和解決捉迷藏問題:

1.在對頁面上的物件使用float浮動之後,最後在下面使用帶有clear:both的div對頁面進行一些浮動上的清理工作,並且盡量避免對#layout使用background。

2.如果有可能,可以給#layout使用固定和高度,儘管這樣會對頁面有所限制,但能消除一些捉迷藏的影響。

3.可以嘗試給#layout和#left使用position:relative。

4.對#layout使用line-height屬性,強制瀏覽器對其中的內容進行選中調整,從面可以消除捉迷藏bug,例如使用line-height:1.2;就能夠使頁面運作變得正常。

bug雖然是ie留下的後遺症,但是別一方面我們應當在div的巢狀上遵循一些習慣,晝使用最少的層次巢狀來滿足頁面設計需要,使頁面結構簡單,容易控制與管理,盡可能的減小由於不必要的巢狀引來的邊鎖問題。

小明系列故事 捉迷藏

題目鏈結 剛開始的思路是直接整,把能看見的大明,二明的地方全部標記出來 但是交叉的地方又不好標記 而且如何判定既看到大明,又看到二明 直到看到了大神 每走一步,判斷一下有沒有看見大明或者二明 如果看到大明返回1,看見二明返回2,兩個都看見返回3,乙個沒看見返回0 用s代表當前看到幾個人 每次向下搜尋...

微軟,捉迷藏好玩嗎?

對於強制使用者使用msn9.0早有耳聞,更為期盼的是微軟如何來強制,今晨,終於看到了招數了,意料中卑劣!早上一上班,按以往習慣登入了msn,不料猛地所有m群全部跳出來,邀請您使用m群控制面板。您是要接受 alt c 還是拒絕 alt d 該邀請?以往選擇 拒絕 後,就平安無事了,而且這些m群在以往的...

小明系列故事 捉迷藏(BFS)

小明的媽媽生了三個孩子,老大叫大明,老二叫二明,老三.老三自然就叫小明了。一天,小明的媽媽帶小明兄弟三人去公園玩耍,公園裡面樹木很多,有很多地方可以藏身,於是他們決定玩捉迷藏。經過幾輪的猜拳後,第一輪是小明來找其他兩個人,遊戲規則很簡單 只要小明可以在規定的時間內找到他們就算小明獲勝,並且被發現的兩...