要素を横並びにする方法はいくつかありますが、ここではdisplay: tableを使う方法について見てみましょう。
各要素にdisplayプロパティ、値table-cellを設定、親要素にdisplayプロパティ、値tableを設定することにより、簡単に横並びを作ることができます。
その特徴は、要素幅が自動分配されるため、カラム落ちがありません。
自動分配
下の図は要素幅を指定していませんが、コンテンツ量によって自動的に要素幅が分配されます。
ホーム
ホームページを自作するサイト
自作
ホームページを自作する
htmlソース
<!--====参考===--> <body> <div class="sample-1"> <div class="sample-a"> <p>ホーム</p> </div> <div class="sample-b"> <p>ホームページを自作するサイト</p> </div> <div class="sample-c"> <p>自作</p> </div> <div class="sample-d"> <p>ホームページを自作する</p> </div> </div> </body>
cssソース
/*===参考===*/ .sample-1 { display: table; width: 100%; height: 100px; background: yellow; border: solid 1px red; box-sizing: border-box; } .sample-a,.sample-b,.sample-c { display: table-cell; border-right: solid 1px red; box-sizing: border-box; } .sample-d { display: table-cell; } .sample-a { background: yellow; } .sample-b { background: yellowgreen; } .sample-c { background: pink; } sample-d { background: magenta; } .sample-a,.sample-b,.sample-c,.sample-d p { text-align: center; }
分配幅を指定する。
今回は要素が4個ですから、4等分で幅を指定してみます。
値table-cellを設定した要素にwidth: 25%;を追記しました。
ホーム
ホームページを自作するサイト
自作
ホームページを自作する