<style type="text/css">
div{height:400px}
#container{width:100%}
#left10{width:10%;float:left;background:red}
#rest90{width:90%;float:left;background:yellow}
</style>
<div id="container">
<div id="left10"></div>
<div id="rest90"></div>
</div>
Как вы можете видеть, у меня есть 2 DIVs на моей странице, для ответных действий я назначаю ширину только двум DIVs в процентах. Теперь я хочу, чтобы содержимое в # rest90 DIV имело расстояние 20px до его левой границы. Но когда я установил # rest90-padding-left на 20px, DIV будет смещен. Fiddle: http://jsfiddle.net/xvnj9oem/Почему padding влияет на ширину элемента?
Я всегда думал, что прокладка внутри элемента, поэтому не должна влиять на относительное положение элемента с другими элементами. Но, видимо, я ошибся, по крайней мере, в этом случае. Я что-то пропустил? Нужно ли мне оставлять маржу слева для всех элементов внутри # rest90 для достижения моей цели?
Со стандартной модели коробки, 'width' определяет пространство, доступное для содержимого элемента (его«внутренняя ширина»), с' padding' в дополнение к этому. Чтобы отрегулировать это, см. Раздел [Предотвращение изменения простейшей ширины или высоты в CSS] (http://stackoverflow.com/questions/779434/preventing-padding-propety-from-changing-width-or-height-in-css) –
Взгляните на это: http://css-tricks.com/box-sizing/ – dippas