左右に並んでくれない

まず、floatの基本的な指定方法を確認しましょう。

container(1000px)の中にside(300px)とmain(600px)を横並びにさせる場合です。

index.html
<div id="container">
   <div id="side">ダミーテキスト</div>
   <dic id="main">ダミーテキスト</div>
</div>
style.css
#container{
    width:1000px;
}
#side{
    width:300px;
    float:left;
}
#main{
    width:600px;
    float:right;
}

重要なのは、並べる要素の横幅の合計がcontainerの幅を超えてはいけないことです。 つまり今回は300px+600pxで、containerの1000pxを超えないので問題ありません。

このような手順で横並びにならない場合、以下のような理由が考えられます。

width以外の要素で横幅が大きくなってしまっている

widthを指定しても、左右のpaddingやborderが設定されていると、その分実際の横幅に足されて大きくなってしまいます。

marginは、要素の横幅には足されませんが、横に並べる際にはmarginの入るスペースも考慮しなければなりません。

つまり、
#sideのwidth+左右margin+左右padding+左右border +
#mainのwidth+左右margin+左右padding+左右border
の合計が#containerの1000pxを超えてはいけないということです。

PAGE TOP