Margin controls the space outside an element’s border, separating it from neighbors. It does not affect the element’s internal content (use padding for that). Margins can collapse in edge cases and affect layout flow; test nested elements and breakpoints.
What does the margin property do?
Use guided tracks for structured prep, then practice company-specific question sets when you want targeted interview coverage.
Overview
The margin property specifies the space outside an element’s border. It ensures that elements don’t touch each other and maintains a consistent layout structure. Margins are transparent and do not affect an element’s background color or border.
Property | Function | Example |
|---|---|---|
margin-top | Adds space above an element. | margin-top: 20px; |
margin-right | Adds space to the right side. | margin-right: 15px; |
margin-bottom | Adds space below an element. | margin-bottom: 25px; |
margin-left | Adds space to the left side. | margin-left: 10px; |
margin | Shorthand for all four sides. | margin: 10px 15px 25px 10px; |
Example: Adding Uniform Margin
div.card {
margin: 20px;
border: 1px solid #ccc;
padding: 15px;
background-color: #fff;
}
This code applies equal spacing (20px) around all sides of the card element, creating separation from other nearby elements.
Example: Asymmetric Margins
h1 {
margin: 40px 0 20px 0;
}
This shorthand adds 40px above the heading, 20px below, and 0 on the sides — perfect for vertical spacing control in typography.
Special Features
- Auto margins: Setting
margin: 0 auto;horizontally centers block-level elements within their container. - Collapsing margins: Adjacent vertical margins between elements may merge into a single value.
- Units: Margins accept pixels, percentages, ems, and rems for flexible layout control.
Example: Centering a Div Horizontally
div.container {
width: 60%;
margin: 0 auto;
background-color: #f2f2f2;
padding: 30px;
}
The <div> element is centered in its parent container using margin: 0 auto; — a common layout pattern for centered designs.
Practical scenario
Space cards in a list or add breathing room around a section heading.
Common pitfalls
- Margin collapse between parent/child elements causing unexpected spacing.
- Negative margins that create overlap or overflow.
- Using margin for alignment instead of layout tools like flex or grid.
Use
gap in flex/grid for predictable spacing. Test spacing inside nested containers and across breakpoints.Think of margin as the breathing room around an element — it pushes other elements away without affecting the element’s size or appearance.
- Margins create space outside an element’s border.
- Use
marginshorthand for efficiency (top, right, bottom, left). - Supports
autofor horizontal centering. - Essential for spacing, alignment, and clean design layouts.