К сожалению, вы не можете смешивать такие единицы.Как насчет использования отступов:
var el = document.getElementById("div");
el.style.width = "auto";
el.style.paddingRight = "5px";
Или в вашем CSS:
#div {
width: auto;
padding-right: 5px;
}
Вам не нужны ширина 100% и отступы, потому что тогда фактическая часть содержимого поля будет в100% с отступом за пределами этого (и любой границей за пределами заполнения).Если вы используете ширину по умолчанию, она должна занимать всю ширину родительского элемента, а затем заполнение выталкивает содержимое внутрь.
Если вы думаете: «Подождите минуту: я не могу использовать отступ для позиционирования, потому чтоМне нужно дополнительное заполнение в пределах этого выделенного пространства ", тогда я думаю, что, хотя я и ненавижу поощрять divitis, вы можете создать дополнительный контейнер div с полной шириной и заполнением 5px, а затем поместить свой div внутри этого контейнера ...
(PS Я не рекомендую давать ID, например, "div" для элемента, это сбивает с толку ...)