Chapter 7: CSS Margins
Inherited: No
As you may have guessed, the margin property declares the margin
between an (X)HTML element and the elements around it. The margin
property can be set for the top, left, right and bottom of an element.
(see example below)
margin-top: length percentage or auto;
margin-left: length percentage or auto;
margin-right: length percentage or auto;
margin-bottom: length percentage or auto;
As you can also see in the above example you have 3 choices of values
for the margin property
length
percentage
auto
You can also declare all the margins of an element in a single property as
follows:
margin: 10px 10px 10px 10px;
If you declare all 4 values as I have above, the order is as follows:
1. top
2. right
3. bottom
4. left
If only one value is declared, it sets the margin on all sides. (see below)
margin: 10px;
If you only declare two or three values, the undeclared values are taken
from the opposing side. (see below)
margin: 10px 10px; /* 2 values */
margin: 10px 10px 10px; /* 3 values */
You can set the margin property to negative values. If you do not
declare the margin value of an element, the margin is 0 (zero).
margin: -10px;
Elements like paragraphs have default margins in some browsers, to
combat this set the margin to 0 (zero).
p {margin: 0;}
Note: You do not have to add px (pixels) or whatever
units you use, if
the value is 0 (zero).
You can see in the example below, the elements for this site are set to
be 20px (pixels) from the body
body{
margin: 20px;
background: #eeeeee;
font-size: small;
font-family: Tahoma, Arial, "Trebuchet MS", Helvetica, sans-
serif;
text-align: left;
}