不能在两个元素

时间:2017-05-11 13:40:28

标签: html css

我正试图在两个textarea元素之间垂直居中按钮, 我把div的高度设置为相同,并且内部div的vertical-align: middle;也不正常。

希望你能提供帮助,这是我的代码:

#in {
  display: inline-block;
  vertical-align: middle;
  height: 200px;
}

#out {
  height: 200px;
}
<div id="out">
  <textarea rows="10" cols="40"></textarea>
  <div id="in">
    <input type="button" value="switch">
  </div>
  <textarea rows="10" cols="40"></textarea>
</div>

1 个答案:

答案 0 :(得分:1)

您可以使用 flexbox 来实现此目的。使用vertical-align: middle只会影响内联元素。

如果完全需要演示,而不是布局对齐,则必须始终努力使用元素的高度。

#in {
  display: inline-block;
  vertical-align: middle;
}

#out {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 200px;
}
<div id="out">
  <textarea rows="10" cols="40"></textarea>
  <div id="in">
    <input type="button" value="switch">
  </div>
  <textarea rows="10" cols="40"></textarea>
</div>