Проблема может заключаться в том, какую коробочную модель вы используете. Вы используете IE?
Когда IE находится в режиме причуд, width
это внешняя ширина вашего поля, что означает, что отступы будут внутри. Таким образом, общая площадь, оставленная внутри рамки, равна, и 100px - 2 * 10px = 80px
в этом случае ваши 100 пикселей <hr>
будут выглядеть неправильно.
Если вы находитесь в стандартном режиме, width
это внутренняя ширина вашего поля, а отступы добавляются снаружи. Таким образом, общая ширина коробки составляет100px + 2 * 10px = 120px
оставляет ровно 100 пикселей внутри поля для вашего <hr>
.
Чтобы решить эту проблему, либо настройте значения CSS для IE. (Зайдите в Firefox, чтобы убедиться, что там все нормально). Или, что еще лучше, установите тип документа, чтобы перевести браузер в строгий режим, в котором IE также следует стандартной блочной модели.
<!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>
будет 20 пикселей от конца вашего div. См. Этот jsFiddle, чтобы понять, что я имею в виду: jsfiddle.net/YVrWy/1