絕對定位想必前端都用過吧?用top或者bottom來設(shè)置他們的相對父容器(最近一代的相對定位的父容器)偏移量。
那你會不會同時使用top和bottom呢?效果會如何?什么情況下利用這樣的方法?
這是一個看起來無理取鬧卻發(fā)人深思的問題。經(jīng)測試,在chrome, firefox下:
當(dāng)絕對定位的元素中top,bottom都有值得時候,top優(yōu)先,而且bottom加!important也“敵不過”top,(戰(zhàn)無不勝的!important竟然還有對手?其實(shí),可以理解成:瀏覽器解釋代碼的時候發(fā)現(xiàn)top和bottom同時存在,就放棄解釋bottom,那么bottom的屬性值也就不會被解釋,就是說!important沒上場與其作戰(zhàn))。同理,另外一對兒left和right,是left優(yōu)先。
特殊情況:如果元素沒有設(shè)置高度,top,bottom會同時生效!現(xiàn)象很奇怪,同時生效的結(jié)果就是元素被拉長。有經(jīng)驗(yàn)的同事說他利用過這樣的特性來解決奇葩的CSS難題,但是想不起來了,以后有機(jī)會我會補(bǔ)充的,另外,有問題或建議可以聯(lián)系我,謝謝。