關於IE6父級元素設置padding後定位位置不一樣解決方案

我了個擦呀,今天遇到一個問題很早以前我直接用hack來解決,今天我看了看究竟是怎麼回事。 chrome

<div style="position:relative; padding:20px; border:2px solid #F00;">

<div style="position:absolute; top:0; left:0; border:1px solid #690;">test box</div> 瀏覽器

</div> firefox

父級元素設置position:relative;子元素設置position:absolute經過left,top,right等屬性來對層進行定位,但ie6對left,top,right等屬性的解釋和ie7,ie8及firefox、chrome等不一致。實際上是由於父元素設置了padding,固然0是不算的。ie6中層的定位起始座標是從padding後的位置算起,而其餘則從層的真實位置算起,而非被padding改變後的那個位置。這點形成使用position:absolute進行層定位時ie6與其餘瀏覽器的表現不同。 it

這個Bug也是常見的,目前好像只能經過hack來幹掉他。_left:-20px.................... io

相關文章
相關標籤/搜索