説明に役立つjsFiddleを作成しました: http://jsfiddle.net/windthorst/BvgZK/
しかし、参考までに、ここに HTML を示します。
<header>
<div id="titlebar">
<div id="titlename">
<h1>Title Name Here</h1>
</div>
<div id="titlemenu">
<span>Item One</span><span>Item two</span>
</div>
</div>
</header>
内側の div (#titlename と #titlemenu) の両方にCSS タグfloat: left
を追加することで、それらを含む div (#titlebar) に正しく並べて配置できることがわかっています。理解するのに少し時間がかかりましたが、それで完了です。
私が疑問に思っているのは、フロートなしで jsFiddle で行う方法をなぜ配置するのですか? 最初の div にテキストがない場合 (<h1>
ここでタグを削除)、2 番目の div は、その<span>
中のテキストが含まれている div (#titlebar) の下部に沿って「置かれる」ように配置されます。どちらも含まれているdiv内に(私の推定では)「正しく」配置されています。
「なぜ」を気にして申し訳ありませんが、ここで実際に何が起こっているのかわからない場合、将来そのような問題との闘いを避ける方法に完全に困惑しています...