当parent 容器指定"display: table" 时如何使"vertical-align:middle" 工作?
How to make "vertical-align:middle" work when parent container specifies "display: table"?
我在这里读到 -- CSS vertical-align: middle not working 如果 "vertical-align:middle;" 属性 在 CSS 中不起作用,那是因为 parent 容器可以没有指定 "display: table;"。所以我在 parent DIV
中试了一下
.btn
{
position: relative;
margin-bottom:20px;
padding: 0 10px;
text-align: left;
font-size: 16px;
color: #333;
background:gray;
display: table;
vertical-align: middle;
}
但是 child 元素
<span>Start</span>
仍然在底部对齐 - https://jsfiddle.net/xwdnvcy5/35/。如何让我的 span 元素在中间垂直对齐?
您错过了在 .btn span
样式中添加 display: table-cell
。
.btn
{
position: relative;
margin-bottom:20px;
padding: 0 10px;
text-align: left;
font-size: 16px;
color: #333;
background:gray;
display: table;
}
#btn_container
{
border-radius:5px;
background:red;
position: relative;
display: inline-block;
}
.btn img
{
left: 50%;
margin-left: 0px;
top: 50%;
margin-top: 0px;
}
.btn span
{
vertical-align: middle;
display: table-cell;
}
<div id="control" class="btn">
<div id="btn_container"><img width="100" height="100" src="https://cdn3.iconfinder.com/data/icons/minecraft-icons/512/Stone_Pickaxe.png" alt="Mining pick" /></div>
<span>Start</span>
</div>
我在这里读到 -- CSS vertical-align: middle not working 如果 "vertical-align:middle;" 属性 在 CSS 中不起作用,那是因为 parent 容器可以没有指定 "display: table;"。所以我在 parent DIV
中试了一下.btn
{
position: relative;
margin-bottom:20px;
padding: 0 10px;
text-align: left;
font-size: 16px;
color: #333;
background:gray;
display: table;
vertical-align: middle;
}
但是 child 元素
<span>Start</span>
仍然在底部对齐 - https://jsfiddle.net/xwdnvcy5/35/。如何让我的 span 元素在中间垂直对齐?
您错过了在 .btn span
样式中添加 display: table-cell
。
.btn
{
position: relative;
margin-bottom:20px;
padding: 0 10px;
text-align: left;
font-size: 16px;
color: #333;
background:gray;
display: table;
}
#btn_container
{
border-radius:5px;
background:red;
position: relative;
display: inline-block;
}
.btn img
{
left: 50%;
margin-left: 0px;
top: 50%;
margin-top: 0px;
}
.btn span
{
vertical-align: middle;
display: table-cell;
}
<div id="control" class="btn">
<div id="btn_container"><img width="100" height="100" src="https://cdn3.iconfinder.com/data/icons/minecraft-icons/512/Stone_Pickaxe.png" alt="Mining pick" /></div>
<span>Start</span>
</div>