When building web layouts, spacing is everything—and padding plays a critical role in creating clean, readable, and visually balanced designs. In the context of the CSS Box Model, padding is the space between the content of an element and its border.
In this article, we’ll break down what padding is, how it works within the box model, and the different ways you can apply it using CSS.
📦 Quick Refresher: The CSS Box Model
Before we dive into padding, let’s recall the four components of the CSS Box Model:
- Content – The actual text, image, or data inside the element.
- Padding – The space inside the element, between the content and the border.
- Border – The outer edge that wraps around the padding and content.
- Margin – The space outside the element’s border, separating it from other elements.
So when you add padding, you’re expanding the internal space of the box—not the distance between elements, but the space inside the element itself.
🧱 How Padding Affects the Box Size
If you’re using the default box-sizing: content-box
, padding adds to the element’s total width and height.
.box {
width: 200px;
padding: 20px;
box-sizing: content-box; /* default */
}
Total width: 200px (content) + 40px (padding left + right) = 240px
Total height: depends on content height + padding top + bottom
To keep the total size fixed, use box-sizing: border-box
:
.box {
width: 200px;
padding: 20px;
box-sizing: border-box;
}
Now the content shrinks to fit within the 200px box, and the total width remains 200px.
🎯 How to Add Padding in CSS
You can apply padding in several flexible ways depending on which sides you want to affect:
1. Uniform Padding
Applies the same padding to all four sides.
padding: 20px;
2. Vertical and Horizontal Padding
Specify padding for top/bottom and left/right.
padding: 10px 20px;
/* top & bottom = 10px, left & right = 20px */
3. Padding: Top, Right, Bottom, Left
You can specify up to four values:
padding: 10px 15px 20px 25px;
/* top: 10px, right: 15px, bottom: 20px, left: 25px */
4. Individual Side Padding
Use individual properties for full control:
padding-top: 10px;
padding-right: 15px;
padding-bottom: 20px;
padding-left: 25px;
🧪 Practical Example
.card {
background: #f9f9f9;
padding: 20px;
border: 1px solid #ccc;
box-sizing: border-box;
}
This ensures the .card
has inner spacing around its content while keeping its total dimensions predictable.
🚫 Common Pitfalls
- Forgetting that
padding
increases element size when usingcontent-box
. - Using padding instead of margin when trying to space elements apart.
- Not resetting
box-sizing
, which can lead to layout overflow.
✅ Best Practices
- Use
box-sizing: border-box
for consistent layouts. - Keep padding consistent in design systems or UI components.
- Combine padding with margins for balanced internal and external spacing.
📝 Final Thoughts
Adding padding in CSS is simple—but understanding how it affects the box model is crucial for building reliable, scalable designs. Whether you’re spacing out text inside a button or creating a clean card layout, using padding effectively improves both readability and user experience.