How do I prevent the padding property from changing width or height in CSS?
Solution 1:
Add property:
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /* Firefox, other Gecko */
box-sizing: border-box; /* Opera/IE 8+ */
Note: This won't work in Internet Explorer below version 8.
Solution 2:
Put a div in your newdiv with width: auto
and margin-left: 20px
Remove the padding from newdiv.
The W3 Box model page has good info.
Solution 3:
Try this
box-sizing: border-box;
Solution 4:
If you would like to indent text within a div without changing the size of the div use the CSS text-indent
instead of padding-left
.
.indent {
text-indent: 1em;
}
.border {
border-style: solid;
}
<div class="border">
Non indented
</div>
<br>
<div class="border indent">
Indented
</div>