IE捉迷藏bug詳解(躲貓貓)_Div+CSS教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
IE捉迷藏bug(peek-a-boo),之所以起這個(gè)名稱(chēng)是因?yàn)樵谀承l件下文本看起來(lái)消失了,只有在重新裝載頁(yè)面時(shí)才再度出現(xiàn)。出現(xiàn)這個(gè)bug的條件是:一個(gè)浮動(dòng)元素后而跟著一些非浮動(dòng)元素,然后是一個(gè)清理元素,所有這些元素都包含在一個(gè)設(shè)置了背景顏色或圖像的你元素中。假如清理元素砬到了浮動(dòng)元素,那么中間的非浮支元素看起來(lái)消失了,隱到了父元素的背景顏色或圖像后面,只有在刷新頁(yè)面時(shí)才重新出現(xiàn)。
幸運(yùn)的是,有許多方法可以解決這個(gè)bug。最輕易的方法可能是去掉父元素上的背景顏色或圖像。但是,這經(jīng)常是不可行的。另一個(gè)方法是避免清理元素與浮動(dòng)元素接觸。假如窗口元素應(yīng)用了特定的尺寸,那么這個(gè)bug似乎就不會(huì)出殃了。假如給窗口指定行高,這個(gè)bug也不會(huì)出現(xiàn)。最后,將浮動(dòng)元素和容器元素的position屬性設(shè)置為relative也會(huì)減輕這個(gè)問(wèn)題。
解決方案
在使用一些小技巧來(lái)解決這個(gè)bug之前,應(yīng)當(dāng)聽(tīng)聽(tīng)來(lái)自positioniseverything.net的網(wǎng)站專(zhuān)家的建議,positioniseverything.net是網(wǎng)上最早開(kāi)始研究CSS在瀏覽器下兼容性的組織之一,而捉迷藏bug也是由positioniseverything首先整理出來(lái)的,對(duì)于此問(wèn)題,應(yīng)當(dāng)從兩方面入手:一是使用技巧去解決bug,二是通過(guò)一些編碼習(xí)慣,預(yù)防捉迷藏情況的發(fā)生。positioniseverything提供了4個(gè)途徑供大家來(lái)預(yù)防和解決捉迷藏問(wèn)題:
1.在對(duì)頁(yè)面上的對(duì)象使用float浮動(dòng)之后,最后在下面使用帶有clear:both的div對(duì)頁(yè)面進(jìn)行一些浮動(dòng)上的清理工作,并且盡量避免對(duì)#layout使用background。
2.假如有可能,可以給#layout使用固定和高度,盡管這樣會(huì)對(duì)頁(yè)面有所限制,但能消除一些捉迷藏的影響。
3.可以嘗試給#layout和#left使用position:relative。
4.對(duì)#layout使用line-height屬性,強(qiáng)制瀏覽器對(duì)其中的內(nèi)容進(jìn)行選中調(diào)整,從面可以消除捉迷藏bug,例如使用line-height:1.2;就能夠使頁(yè)面運(yùn)作變得正常。
bug雖然是IE留下的后遺癥,但是別一方面我們應(yīng)當(dāng)在div的嵌套上遵循一些習(xí)慣,晝使用最少的層次嵌套來(lái)滿(mǎn)足頁(yè)面設(shè)計(jì)需要,使頁(yè)面結(jié)構(gòu)簡(jiǎn)單,輕易控制與治理,盡可能的減小由于不必要的嵌套引來(lái)的邊鎖問(wèn)題。

幸運(yùn)的是,有許多方法可以解決這個(gè)bug。最輕易的方法可能是去掉父元素上的背景顏色或圖像。但是,這經(jīng)常是不可行的。另一個(gè)方法是避免清理元素與浮動(dòng)元素接觸。假如窗口元素應(yīng)用了特定的尺寸,那么這個(gè)bug似乎就不會(huì)出殃了。假如給窗口指定行高,這個(gè)bug也不會(huì)出現(xiàn)。最后,將浮動(dòng)元素和容器元素的position屬性設(shè)置為relative也會(huì)減輕這個(gè)問(wèn)題。
解決方案
在使用一些小技巧來(lái)解決這個(gè)bug之前,應(yīng)當(dāng)聽(tīng)聽(tīng)來(lái)自positioniseverything.net的網(wǎng)站專(zhuān)家的建議,positioniseverything.net是網(wǎng)上最早開(kāi)始研究CSS在瀏覽器下兼容性的組織之一,而捉迷藏bug也是由positioniseverything首先整理出來(lái)的,對(duì)于此問(wèn)題,應(yīng)當(dāng)從兩方面入手:一是使用技巧去解決bug,二是通過(guò)一些編碼習(xí)慣,預(yù)防捉迷藏情況的發(fā)生。positioniseverything提供了4個(gè)途徑供大家來(lái)預(yù)防和解決捉迷藏問(wèn)題:
1.在對(duì)頁(yè)面上的對(duì)象使用float浮動(dòng)之后,最后在下面使用帶有clear:both的div對(duì)頁(yè)面進(jìn)行一些浮動(dòng)上的清理工作,并且盡量避免對(duì)#layout使用background。
2.假如有可能,可以給#layout使用固定和高度,盡管這樣會(huì)對(duì)頁(yè)面有所限制,但能消除一些捉迷藏的影響。
3.可以嘗試給#layout和#left使用position:relative。
4.對(duì)#layout使用line-height屬性,強(qiáng)制瀏覽器對(duì)其中的內(nèi)容進(jìn)行選中調(diào)整,從面可以消除捉迷藏bug,例如使用line-height:1.2;就能夠使頁(yè)面運(yùn)作變得正常。
bug雖然是IE留下的后遺癥,但是別一方面我們應(yīng)當(dāng)在div的嵌套上遵循一些習(xí)慣,晝使用最少的層次嵌套來(lái)滿(mǎn)足頁(yè)面設(shè)計(jì)需要,使頁(yè)面結(jié)構(gòu)簡(jiǎn)單,輕易控制與治理,盡可能的減小由于不必要的嵌套引來(lái)的邊鎖問(wèn)題。
相關(guān)Div+CSS教程:
- DIV+CSS設(shè)計(jì)的誤區(qū)
- CSS基礎(chǔ):常用CSS英文字體介紹
- IE6和IE7中border邊框斷線現(xiàn)象
- border:none;與border:0;的有什么不同?
- div+css下js對(duì)聯(lián)廣告不隨屏幕滾動(dòng)的解決方法
- HTML元素的ID和Name屬性的區(qū)別
- divcss教程:深入了解css的行高Line Height屬性
- CSS文檔流,塊級(jí)元素和內(nèi)聯(lián)元素
- 5個(gè)你該知道的CSS3新技術(shù)
- 用正則表達(dá)式替換a標(biāo)記href值
- 30個(gè)優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計(jì)教程
- css中px和em有什么區(qū)別
Div+CSS教程Rss訂閱Div+Css教程搜索
Div+CSS教程推薦
猜你也喜歡看這些
- CSS實(shí)例:list-style-type在IE與FF中奇怪的現(xiàn)象解析
- DIVCSS實(shí)例:橙藍(lán)互換的CSS翻頁(yè)效果
- 圖片邊框變換CSSHover狀態(tài)效果一例
- CSS實(shí)例:用fieldset、legend實(shí)現(xiàn)文字寫(xiě)在邊線上的效果
- DIVCSS實(shí)例教程:蔚藍(lán)色的海洋漂亮的CSS縱向菜單
- CSS實(shí)例教程:UL制作CSS橫向菜單藍(lán)綠色調(diào)
- CSS實(shí)例:區(qū)分IE6、IE7、FF對(duì)HR解釋的CSShack
- DivCSS布局關(guān)于分辨率與100%自適應(yīng)問(wèn)題的探討!
- DivCSS布局實(shí)例:三行單列上下固定高度中間自適應(yīng)
- 一個(gè)非常棒的DIV CSS導(dǎo)航條效果!
- 相關(guān)鏈接:
- 教程說(shuō)明:
Div+CSS教程-IE捉迷藏bug詳解(躲貓貓)
。