DEV Community

Cover image for CSS Padding – Managing Space Inside Elements
Ridoy Hasan
Ridoy Hasan

Posted on

CSS Padding – Managing Space Inside Elements

Lecture 11: CSS Padding – Managing Space Inside Elements

In this lecture, we will discuss CSS padding, which controls the space inside an element, between the element's content and its border. Padding plays an essential role in determining how elements are spaced and sized, providing a clean and readable layout.

1. What is Padding?

Padding defines the space between the content of an element and its border. Unlike margins (which create space outside the element), padding adds space within the element itself.

Basic Syntax:
element {
    padding: value;
}
Enter fullscreen mode Exit fullscreen mode

2. Setting Padding for All Sides

You can apply the same amount of padding on all four sides of an element using the padding property.

Example:
.box {
    padding: 20px; /* Adds 20px of padding on all sides */
}
Enter fullscreen mode Exit fullscreen mode

This will add 20 pixels of space inside the element around its content.

3. Individual Padding for Each Side

You can also set padding for individual sides using the following properties:

  • padding-top
  • padding-right
  • padding-bottom
  • padding-left
Example:
.box {
    padding-top: 10px;
    padding-right: 15px;
    padding-bottom: 20px;
    padding-left: 25px;
}
Enter fullscreen mode Exit fullscreen mode

This gives you more control over how much padding is applied to each side of the element.

4. Shorthand Property for Padding

You can define different padding values for each side using the padding shorthand property, similar to how it works with margins. It accepts up to four values:

  • If four values are provided: the first is for top, second for right, third for bottom, and fourth for left.
  • If three values are provided: the first is for top, second for left/right, third for bottom.
  • If two values are provided: the first is for top/bottom, and the second for left/right.
  • If one value is provided: it applies to all sides.
Example:
.box {
    padding: 10px 20px 30px 40px; /* Top: 10px, Right: 20px, Bottom: 30px, Left: 40px */
}
Enter fullscreen mode Exit fullscreen mode

5. Padding and Element Size

The amount of padding affects the overall size of the element. By default, padding is added to the width and height of an element, which can make the element appear larger.

Example:
.box {
    width: 300px;
    padding: 20px;
}
Enter fullscreen mode Exit fullscreen mode

In this case, the actual width of the element will be 340px (300px width + 20px padding on both the left and right sides).

6. Box-Sizing: Border-Box

If you don’t want padding to affect the overall width and height of the element, you can use the box-sizing: border-box property. This tells the browser to include padding and borders within the element's specified width and height.

Example:
.box {
    width: 300px;
    padding: 20px;
    box-sizing: border-box;
}
Enter fullscreen mode Exit fullscreen mode

Now, the element will remain 300px wide, with padding included in the total width.

7. Percentages for Padding

Padding values can also be set using percentages, which are calculated based on the width of the containing element.

Example:
.box {
    padding: 10%; /* Padding will be 10% of the containing element's width */
}
Enter fullscreen mode Exit fullscreen mode

This makes the padding responsive to the size of the container.

8. Visual Impact of Padding

Using padding can dramatically improve readability and the overall design by ensuring content has enough space around it, making it more visually appealing and less cramped.

Example:
.text-box {
    border: 1px solid #333;
    padding: 20px;
}
Enter fullscreen mode Exit fullscreen mode

This will create a well-spaced text box, where the content has enough room to breathe within the border.

Conclusion

Understanding how to control the space inside your elements using padding is crucial for building clean, structured, and visually appealing layouts. Padding ensures that your content is readable and looks professional within its container.


follow me on LinkedIn

Ridoy Hasan

Top comments (0)