垂直对齐元素以匹配相邻元素中间线[重复]

问题描述 投票:0回答:2

我有一个按钮,一个div和一个跨度相互相邻的一条线

我需要所有这些像这样垂直对齐中心

enter image description here

下面是我的代码

button{
  height: 50px;
}

div{
  display: inline-block;
  height: 70px;
  border: 2px solid black;
  padding: 10px;
}
h1{
  display: inline-block;
}
<div></div>
<button>Button</button>
<span>Span</span>
<div>div</div>
html css vertical-alignment
2个回答
1
投票

我建议在这种情况下使用flex。

如果在元素周围包装容器,则可以将子元素与中心对齐。有关示例,请参阅代码段。

button{
  height: 50px;
}

.container div{
  display: inline-block;
  height: 70px;
  border: 2px solid black;
  padding: 10px;
}
h1{
  display: inline-block;
}

.container {
display:flex;
align-items:center;
}
<div class="container"><div></div>
<button>Button</button>
<span>Span</span>
<div>div</div>
</div>

我希望这有帮助。


0
投票

如果引入父元素,则可以使用flexbox:

.wrapper {
  display: flex;
  align-items: center; /* vertical center */
  justify-content: center; /* horizontal center */
  border: 1px solid red;
}

button {
  height: 50px;
}

.wrapper>div {
  display: inline-block;
  height: 70px;
  border: 2px solid black;
  padding: 10px;
}

h1 {
  display: inline-block;
}
<div class="wrapper">
  <div></div>
  <button>Button</button>
  <span>Span</span>
  <div>div</div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.