1. ホーム
  2. ハイパーリンク

[解決済み】spanやdivでvertical-align: middleが効かないのはなぜですか?

2022-03-30 10:11:02

質問

を垂直方向にセンタリングしようとしています。 span または div 要素を別の div 要素を使用します。しかし vertical-align: middle と表示され、何も起こりません。試しに display プロパティを設定しても、うまくいかないようです。

現在、私のウェブページでやっていることです。

.main {
  height: 72px;
  vertical-align: middle;
  border: 1px solid black;
  padding: 2px;
}
    
.inner {
  vertical-align: middle;
  border: 1px solid red;    
}
    
.second {
  border: 1px solid blue; 
}
<div class="main">
  <div class="inner">
    This box should be centered in the larger box
    <div class="second">Another box in here</div>
  </div>
</div>

以下は、この実装がうまくいかないことを示すjsfiddleです。 http://jsfiddle.net/gZXWC/

解決方法は?

最初の投稿から時間が経過しており、現在ではこれが最善の方法と思われます。

.main {
  display: table;
  
  /* optional css start */
  height: 90px;
  width: 90px;
  /* optional css end */
}
        
.inner {
  border: 1px solid #000000;
  display: table-cell;
  vertical-align: middle;
}
<div class="main">
  <div class="inner"> This </div>
</div>