В соответствии со спецификацией CSS Box Model, поведение по умолчанию для элемента, к которому применен отступ, заключается в увеличении его ширины и высоты. Тем не менее, вам всегда придется беспокоиться о размерах элемента и уменьшать ширину в соответствии с количеством примененных вами отступов слева и справа. Например: если у вас есть div с 200px
и padding
из 10px
, общая сумма width
будет 220px
.
Однако вы можете изменить это поведение, установив правило CSS3 «размер блока», которое заставляет ваш элемент не суммировать заполнение до окончательной ширины / высоты. Вы можете проверить страницу Mozilla на эту тему: https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing.
Но имейте в виду: он не работает в старых браузерах, таких как, например, IE 7 . Если обратная совместимость не является проблемой для вас, переходите прямо к ней.
Существует обходной путь, если вы не хотите вычитать ширину / высоту вашего столбца из ширины отступа: вы можете создать внутри него div-обертку и применить к нему отступ или прикрепить отступ к внутренним элементам, а не сам родительский div.
<div id="column" style="width: 200px">
<ul style="padding: 10px">
<li>Some text</li>
<li>Some more text</li>
<li>Even more text</li>
</ul>
</div>
Таким образом, вам не нужно беспокоиться о пересчете размеров элементов, когда вам нужно изменить, например, размер отступа.