上へ戻る

CSSで横並びにはflexboxという方法も。メリットは要素の配置の柔軟さにあり。

Pocket

以前書いたCSSで横並びにしようという記事の続き。
参考リンク:横並びにするためのCSS一覧(float,table,inline,inline-blockなどの違い、メリット・デメリット)

使用するプロパティはflexboxというもので、flexboxを使えば横並びにするだけでなく、柔軟に配置を変えることができます。

百聞は一件にしかり。
まずは基本的な使い方を見てみましょう。


flexboxの基本の使い方:横並び

.flexbox{
display:flex box;
display:-webkit-box;
border:5px solid #000;
padding:10px;
}
.flexbox li{
background:#000;
padding:10px;
color:#fff;
margin:10px;

}
  • 1
  • 2
  • 3

親要素にflex boxを指定することで子要素が横並びになります。floatと違って、clearする必要がないのが便利。

またdisplay:inlineに比べて、widthが要素幅になりますがもし要素内で区切る場合はinline-flexを指定すればOKです。


flexboxのちょっとした使い方:上下左右の揃え

これまで横並びで上下を合わせる場合にはtableを指定してvertical-alignを合わせなければいけませんでしたが、flexboxであれば上下もvertical-alignで合わせられます。

.flexbox{
display:flex box;
display:-webkit-box;
border:5px solid #000;
padding:10px;
height:100px;
}
.flexbox li{
background:#000;
padding:10px;
color:#fff;
margin:10px;
}
.top li{
vertical-align:top;
}

  • 1
  • 2
  • 3

初期値が左寄せなので、真ん中に寄せる場合は-webkit-box-pack:center、右寄せは-webkit-box-pack:endでOK。

使い所によっては便利なflexboxの使い方

使いどろころがあれば便利そうなのが-webkit-box-flex。
これは子要素内で指定すれば横幅の指定を変えることができます。

  • 1
  • 2
  • 3

.flexbox{
display:flex box;
display:-webkit-box;
border:5px solid #000;
padding:10px;
}
.flexbox li{
background:#000;
padding:10px;
color:#fff;
margin:10px;

}
li.flexbox2{
-webkit-box-flex:2;
}

IE9までは使えませんがiOSやandroidにも対応していますしスマートフォンサイト構築の時には便利そうなflexbox。
是非お試しあれ。

最新投稿された記事はいかがですか?

1987年2月生まれ、滋賀県湖南市育ち、現在湖南市の三雲駅から徒歩20分超の場所でコワーキングスペース「今プラス」の管理人をしております。
続きを読む