<div class="box">Ta sử dụng một hình ảnh làm nền:
<div class="box-top"></div>
<div class="box-middle">Nội dung</div>
<div class="box-bottom"></div>
</div>
Các phần box-top, box-middle, box-bottom chứa những phần hình ảnh tương ứng: cạnh trên của hộp, phần giữa hộp, cạnh dưới hộp. Do phần cạnh trên và cạnh dưới có chiều cao nhỏ 10px, ta đặt style như sau:
.box-top {height: 10px; background: ...}Hiển thị ở những trình duyệt khác thì hoàn toàn chính xác:
.box-bottom {height: 10px; background: ...}
Riêng IE6 bắt đầu "khó chịu":
Lần này ta được "ban tặng" cho 2 khoảng trống rất chi là vô duyên. Vậy khoảng trống này từ đâu ra ? Xin thưa rằng, trong IE6 nếu một thẻ có chiều cao X, và chiều cao của font là Y thì IE6 sẽ chọn chiều cao lớn nhất giữa 2 giá trị này làm chiều cao hiển thị của thẻ, điều này làm phát sinh những khoảng trống ngoài dự liệu.
Cách khắc phục
Ta cần thêm thuộc tính overflow: hidden vào những thẻ có height nhỏ hơn chiều cao font như sau:
.box-top {height: 10px; overflow: hidden; background: ...}
.box-bottom {height: 10px; overflow: hidden; background: ...}
Một bài viết dạng mẹo khá hay. Thằng IE 6 làm nhiều web developer khổ sở thiệt. Trước đây mình khùng với nó, giờ không hỗ trợ nó nữa. Ai dùng IE 6 mình Redirect sang trang tải Firefox ngay khi ghé site.
Trả lờiXóaĐúng là khổ thiệt, nhưng đôi khi phải sống chung với lũ thôi, khách hàng o ép thì phải cố mà khắc phục
Trả lờiXóa