検証ブラウザ:Google Chrome

<div class="nippon">
<div class="tokyo">東京</div>
<div class="kanagawa">神奈川</div>
<div class="osaka">大阪</div>
<div class="nagoya">名古屋</div>
</div>

div.tokyo{
background-color:lightpink;
border: 4px solid #0000FF;
width:200px;
padding: 10px 10px 10px 10px;
margin: 30px 0px 10px 8px;
}

div.kanagawa{
background-color:lightskyblue;
border: 4px solid #FF0000;
width:200px;
padding: 0px 0px 0px 30px;
}

div.osaka{
background-color:green;
border: 4px solid #000000;
width:200px;
padding: 0px 0px 0px 0px;
margin: 10px 77px 6px 25px;
}

div.nagoya{
background-color:aqua;
border: 4px solid #999999;
width:200px;
}

div.nippon{
background-color:yellow;
display: -webkit-box; /* Safari,Google Chrome用 */  
-webkit-box-orient:horizontal;
}

マージンは、枠外の余白です。margin で指定します。

4つの数値は、
margin: 上px 右px 下px 左px;
を意味します。時計回りと思えば覚えやすいでしょう。

東京は、
margin: 30px 0px 10px 8px;
を指定しています。よって、青枠の外側の余白(黄色い部分)が、
各値で指定したピクセルになっています。

ここで、右px は 0 にしていることに着目してください。
神奈川には、marginを指定していません。
指定しない場合は、
margin: 0px 0px 0px 0px;
と同等になります。(つまり余白ゼロです)。

東京と神奈川は左右ぴったりくっついています。
これは、東京の右側と、神奈川の左側、いずれもマージン0だからです。

つぎに、大阪に着目してください。
margin: 10px 77px 6px 25px;
を指定しています。つまり左側のマージンが25pxです。
神奈川と大阪の間にはスキマがあります。これは、大阪の25pxです。

そして、名古屋はmarginを指定していません。それなのに大阪と名古屋との間に
スキマが開いているのは、大阪の右側に 77px のマージンが設定されているからです。

このように、2つのdivが横に並ぶ場合は、左右どちらのマージンが効いているか?
を間違えないように注意しましょう。

サンプルソース