如果設定padding:2px這個屬性,按照正確的解釋,DIV的寬度應該是:
上面當然算的是正確的解釋,但是注意拉IE6.0不會按照CSS2的正確解釋來算,IE的算法有時候會安正確解釋算,大多時候IE會把padding算在width裏面按照IE的算法上面的結果還會是202,因爲IE大多時候認爲padding是width的一部分。所以在IE下面這個div實際可以運用的width是200-2-2=196,但是其他瀏覽器DIV實際可以運用的width還是200.
這是IE6.0典型的hack(瀏覽器兼容性)。所以強烈建議不到萬不得已不要給DIV定義padding。本人就在操作過程中見過IE最變態的解釋,IE把我的第一個DIV按照正確解釋運算DIV寬度,把之後的另外一個DIV按照IE自己的方法(就是padding是width的一部分)。當時我2個DIV調用的同一個類。
附:如果又設置了margin:2px;則上述的寬度可計算爲
CSS的規則: 2(margin-left)+1(border-left)+2(padding-left)+200(width)+2(padding-right)+1(border-right)+2(margin-right)=210
IE6.0以前的版本: 2(margin-left)+200(width)+2(margin-right)=204
IE6.0: 2(margin-left)+1(border-left)+200(width)+1(border-right)+2(margin-right)=206