Это может быть проблема блочной модели в режиме причуд (если вы использовали неполный переходный DOCTYPE
, который не включает «стандартный режим»).Без правильного DOCTYPE
вы получите эмуляцию ошибок IE5, включая «старую» блочную модель.
Поведение, которое вы получаете с <!DOCTYPE html>
, считается правильным в спецификации CSS.
В идеале для компенсации следует уменьшить размеры элемента на ширину границы.
В качестве альтернативы (если вы используете размеры в %
, например), переключите блочную модель на ту, которую вы ожидаете(работает в IE8 +):
div {box-sizing: border-box;}
Обратите внимание, что это влияет только на границы.Контур будет вне рамок, и это не повлияет на макет.Вы можете зарезервировать место для контура, используя эквивалент margin
.