最近在切一個wordpress版型,做了將文章標題放在邊框上的設計,所以本來先用負的邊界值(ex. margin-top: -20px),這樣可以很簡單的把標題推到線上面。不過在設計都做完,最後用IE來檢查時,又給我出問題了。在IE裡負的邊界值失去效用。
我想我應該是沒有記錯,IE是有支援負的邊界值才對,所以google一下。原來又是一個bug。這個bug好像比較冷門,文章不多,而且描述的現象又跟我遇到的不太一樣,都是說超出邊界的內容會被隱藏,但是我的狀況只是margin變成0(的效果)而已,沒有內容被隱藏。
不過,總之結論是遇到討厭的hasLayout問題了。講簡單一點,要設負的邊界值的block不能設定寬度,設了寬度就會啟動hasLayout屬性,觸發這個bug。
不過問題是這次我需要設寬度才行,所以我改用position來完成這項工作,然後再次詛咒IE去死去死去死去死去死去死去死去死。