div中的垂直对齐中间按钮

SQL*_*ner 8 html css

我试图在模态页脚的中心垂直对齐此按钮div.这是我的JSFiddle的链接:https://jsfiddle.net/kris_redden/34jyLpok/

.modal-footer {
  background-color: #2A3E5D;
  color: white;
  height: 100px;
  padding: 2px 16px;
}

.wrapper-div {
  vertical-align: middle
}

.button {
  background: #e8e8e8;
  display: inline-block;
  font-size: 12px position: relative;
}
Run Code Online (Sandbox Code Playgroud)
<div class="modal-footer">
  <div class="wrapper-div">
    <button type="button" class="button"> Submit Filters </button>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我不确定需要改变什么才能使它在蓝色模态 - 页脚div的中心垂直对齐.我知道可以通过在按钮上加上边距来以一种黑客的方式实现这一点,但这不是我想要做的.

Maa*_*ger 22

最简单的方法是将以下内容添加到.modal-footer

display: flex;
align-items: center;
Run Code Online (Sandbox Code Playgroud)


Vis*_*ahu 5

.modal-footer {
display: table;
width: 100%;
}

.wrapper-div {
display: table-cell;
  vertical-align: middle
}
Run Code Online (Sandbox Code Playgroud)

去做这样的事情。这是小提琴


ome*_*mer 5

这也可以通过使用

.button-container{
 position:relative;
 height:100%;
}

.button{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
Run Code Online (Sandbox Code Playgroud)

vertical-align:middle;这里没有必要。如果按钮容器的高度未知,并且我无法使用flex-box(dispaly:flex;),我将使用此方法。
https://jsfiddle.net/34jyLpok/7/

另一种选择是使用flex-box(display:flex;

.button-container{
     height:100%;
     display: flex;
     //flex-direction: column;//only vertical
     align-items: center;//both vertical and horizonal
     justify-content: center
    }

    .button{
      width:100px;
    }
Run Code Online (Sandbox Code Playgroud)

问题display: flex在于,旧的IE浏览器版本未完全支持它。 https://jsfiddle.net/34jyLpok/9/