Skip to content

CSS Margin and Padding

Overview

Margin and padding are fundamental CSS properties for creating space around elements.

Margin

Basic Margin Properties

css
.element {
    margin-top: 20px;
    margin-right: 30px;
    margin-bottom: 20px;
    margin-left: 30px;
}

/* Shorthand property */
.element {
    margin: 20px 30px 20px 30px; /* top right bottom left */
    margin: 20px 30px; /* top/bottom left/right */
    margin: 20px; /* all sides */
}

Auto Margin

css
.center-horizontal {
    margin-left: auto;
    margin-right: auto;
    width: 300px; /* Required for auto margin to work */
}

Negative Margin

css
.pull-up {
    margin-top: -10px; /* Pulls element up */
}

Padding

Basic Padding Properties

css
.element {
    padding-top: 15px;
    padding-right: 20px;
    padding-bottom: 15px;
    padding-left: 20px;
}

/* Shorthand property */
.element {
    padding: 15px 20px 15px 20px; /* top right bottom left */
    padding: 15px 20px; /* top/bottom left/right */
    padding: 15px; /* all sides */
}

Box Model Impact

css
.box-model-demo {
    width: 200px;
    height: 100px;
    padding: 20px;
    border: 5px solid #ccc;
    margin: 30px;
    
    /* Total space taken:
       Width: 200px
       Height: 100px
       Padding: 40px (20px each side)
       Border: 10px (5px each side)
       Margin: 60px (30px each side)
    */
}

Common Patterns

Centering with Margin

css
.center-block {
    width: 300px;
    margin: 0 auto; /* Center horizontally */
}

Spacing Utilities

css
.m-0 { margin: 0; }
.m-1 { margin: 8px; }
.m-2 { margin: 16px; }
.m-3 { margin: 24px; }

.p-0 { padding: 0; }
.p-1 { padding: 8px; }
.p-2 { padding: 16px; }
.p-3 { padding: 24px; }

Content is for learning and research only.