Vấn đề có thể do bạn đang sử dụng mẫu hộp nào. Bạn đang sử dụng IE?
Khi IE ở chế độ quirks, width
là chiều rộng bên ngoài của hộp của bạn, có nghĩa là phần đệm sẽ ở bên trong. Vì vậy, tổng diện tích còn lại bên trong hộp là 100px - 2 * 10px = 80px
trường hợp rộng 100px của bạn<hr>
sẽ không giống với.
Nếu bạn đang ở chế độ tiêu chuẩn, width
là chiều rộng bên trong hộp của bạn và phần đệm được thêm bên ngoài. Vì vậy, tổng chiều rộng của hộp 100px + 2 * 10px = 120px
để lại chính xác 100px bên trong hộp cho<hr>
.
Để giải quyết nó, hãy điều chỉnh các giá trị CSS của bạn cho IE. (Kiểm tra trong Firefox để xem nó có ổn không). Hoặc thậm chí tốt hơn, đặt một loại tài liệu để đưa trình duyệt vào chế độ nghiêm ngặt - nơi IE cũng tuân theo mô hình hộp tiêu chuẩn.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
...
http://www.quirksmode.org/css/quirksmode.html
<hr>
sẽ là 20px tính từ cuối div của bạn. Xem jsFiddle này để biết ý tôi là gì: jsfiddle.net/YVrWy/1