要素を横並びにする際に個人的にはdisplay:inline-block;で並べる派です。
floatはあまり好みではないので。。。
ただ、display:inline-block;で並べると、意図しない隙間ができます。
例えば2つのinline-block要素を50%で並べ、margin:0 padding:0で指定しても、段落落ちします。
この”隙間”をなくすのは、方法がいくつかあるようですが、一番わかりやすかったのが、letter-spacingでの調整でしたので、ご紹介します。
<div class=“wrap”> <!--左に配置したい要素--> <div class=“left”> <p>横並びにしたい要素、左側</p> </div> <!--右に配置したい要素--> <div class=“right”> <p>横並びにしたい要素、右側</p> </div> </div>
上記のような構成だったとします。
ようはleftを左側に、rightを右側に配置したい訳です。
css
.wrap{ letter-spacing: -.50em; } .wrap > *{ letter-spacing: normal; }
これでleftとrightにinline-blockを指定して、leftとrightの合計したwidthをwrap(親要素)の幅以上にしなければ、綺麗に並んでくれます。
letter-spacing: -.40em;と紹介しているブログもありますが、-.40emだと一部のブラウザで段落落ちしていましたので、-.50emにしています。