
let’s go through CSS Margins in a way that sticks.
1. What are Margins?
Margins are the space outside an element’s border.
They push the element away from other elements in the layout.
Think of a photo in a frame:
- Border = the frame itself
- Padding = space between the photo and the frame
- Margin = space between the frame and the wall
2. Syntax
margin: value;
Values can be in:
- px → pixels (absolute size)
- % → percentage (relative to container width)
- em/rem → relative to font size
auto
→ lets browser calculate margin (often used for centering)
3. Margin Shorthand
You can set margins for all sides in one line:
margin: top right bottom left;
Example:
margin: 10px 20px 30px 40px;
/* top = 10px, right = 20px, bottom = 30px, left = 40px */
Shortcut patterns:
- 1 value:
margin: 20px;
→ all sides 20px - 2 values:
margin: 10px 20px;
→ top & bottom = 10px, left & right = 20px - 3 values:
margin: 10px 20px 30px;
→ top = 10px, left & right = 20px, bottom = 30px
4. Individual Margin Properties
margin-top: 10px;
margin-right: 20px;
margin-bottom: 15px;
margin-left: 5px;
5. Special Margin Tricks
a) Centering an element
div {
width: 200px;
margin: 0 auto; /* horizontally centers block elements */
}
b) Negative Margins
div {
margin-top: -10px; /* pulls element upward */
}
⚠️ Use sparingly — can cause layout overlap.
6. Example
<!DOCTYPE html>
<html>
<head>
<style>
.box {
width: 100px;
height: 100px;
background: lightblue;
border: 2px solid navy;
}
.margin1 { margin: 20px; }
.margin2 { margin: 20px 50px; }
.margin3 { margin: 10px 40px 30px; }
.margin4 { margin: 10px 20px 30px 40px; }
</style>
</head>
<body>
<div class="box margin1">1 value</div>
<div class="box margin2">2 values</div>
<div class="box margin3">3 values</div>
<div class="box margin4">4 values</div>
</body>
</html>