CSSのdisplayプロパティを使用してブロック要素を横に並べる

CSSのdisplayプロパティを使用してブロック要素を横に並べる

divタグにblock:inline-block;を指定して横に並べてみます。

cssです。

.danraku{
  border:1px solid;
  display:inline-block;
  width:90px;
  height:50px;
  text-align:center;
  vertical-align:middle;
}

#danraku{
  border:1px solid;
  display:inline-block;
  width:90px;
  height:50px;
  text-align:center;
  vertical-align:middle;
}

サンプル

display:inline-block;だとdiv要素を横並びに並べることはできましたが、vertical-align:middle;が効かないようです。

display:inline;に変更する

divタグを横並びにしながらvertical-align:middle;を効かせるためにdisplay:inline;に変更してみました。

cssです。

.danraku{
  border:1px solid;
  display:inline;
  width:90px;
  height:50px;
  text-align:center;
  vertical-align:middle;
}

#danraku{
  border:1px solid;
  display:inline;
  width:90px;
  height:50px;
  text-align:center;
  vertical-align:middle;
}

サンプル

今度はwidthとheightが効かないです。どうもvertical-alignはブロック要素では適用されないようで、display:table-cell;とすることによってvertical-alignを効かせることができるようです。

cssです。

.danraku{
  border:1px solid;
  display:table-cell;
  width:90px;
  height:50px;
  text-align:center;
  vertical-align:middle;
}

#danraku{
  border:1px solid;
  display:table-cell;
  width:90px;
  height:50px;
  text-align:center;
  vertical-align:middle;
}

サンプル

でもレスポンシブデザインにはdisplay:table-cell;は向いていないようです。

display:table-cell;を安易に使うべきでない理由いろいろ

heightを指定している場合、vertical-alignが使用できない

さらに色々調べていると、block:inline-block;でheightを指定しているとvertical-alignが効かないようです。一度heightを外してみます。

cssです。

.danraku{
  border:1px solid;
  display:inline-block;
  width:90px;
  text-align:center;
  vertical-align:middle;
}

#danraku{
  border:1px solid;
  display:inline-block;
  width:90px;
  text-align:center;
  vertical-align:middle;
}

サンプル

heightを外すと、vertical-alignが効いているのがわかります。

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました