Lỗi này gọi là lỗi double margin, xảy ra khi ra add margin right hoặc left của 1 float element ( IE 6)
Ta xem ví dụ sau nhé:
Code:
.floatbox {
float: left;
width: 150px;
height: 150px;
margin: 5px 0 5px 100px;
/* Margin left 100px */
}
Test thử trên IE 6, nó thành ... 200px
Cách khắc phục:
Biện pháp 1: khuyên nhủ em nó từ từ
Code:
.floatbox {
float: left;
width: 150px;
height: 150px;
margin: 5px 0 5px 100px;
/* Margin left 100px */
display:inline;
}
Nhưng đôi khi, ta không thể display:inline được thì đành ... ép em nó nghe lời vậy, ta dùng kĩ thuật star hack
Code:
.floatbox {
float: left;
width: 150px;
height: 150px;
margin: 5px 0 5px 100px;
/* Margin left 100px */
}
* html .floatbox{
margin-left:50px; /* phân nửa cái margin ta muốn, nó bug thì ... thành đúng*/
}
Cách 2 có cái bất tiện là ... nếu số lẻ thì ... bị dư hoặc thiếu 1px ), chịu thôi
Bookmarks