我有三个HTML对象,想要在左侧安排“上一步”按钮,在右侧安排“下一步”按钮,并在容器div内部中间跨度。
<PREVIOUS> |SPAN| <NEXT>
HTML
<div>
<input type="button" value="Previous" id="btnPrevious"/>
<span id="spanStage">Stage 5</span>
<input type="button" value="Next" id="btnNext"/>
</div>
CSS
#btnPrevious
{
float:left;
}
#spanStage
{
font-weight:bold;
vertical-align:middle;
}
#btnNext
{
float:right;
}
答案 0 :(得分:16)
只需将text-align: center
添加到您的包装器中即可设置所有非浮动/未定位子项的水平对齐方式:
div{
text-align:center;
}
默认情况下, <span>
是内联元素。因此,您必须对它们使用display:block
并对它们进行适当的样式设置,或者只是略微调整父样式。由于这个简单的解决方案没有<span>
和<button>
以外的其他孩子。
请注意,text-align:<value>
是从父级继承的,因此如果要在包装器中包含其他内容,则应检查text-align:center
是否适合您。否则,请在特定元素中使用text-align:<value>
,其中value
为left
,right
,center
或justify
。
答案 1 :(得分:14)
&#34;显示:flex&#34; style是将这些元素放在同一行中的好方法。无论div中有什么元素。特别是如果输入类是表单控件,其他解决方案(如bootstrap,inline-block)将无法正常工作。
示例:
http_req_duration: 197.41ms, 70.32ms,91.56ms, 619.44ms, 288.2ms, 326.23ms
有关display:flex:
的更多细节flex-direction:row,column
对齐内容:flex-end,center,space-between,space-around
align-items:stretch,flex-start,flex-end,center
答案 2 :(得分:4)
只需将此添加到您的CSS中即可。
#btnPrevious,#spanStage,#btnNext {
width:33%;
display:inline-block;
}
答案 3 :(得分:3)
答案 4 :(得分:0)
尝试使用display:flex
。
.header {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
<div class="header">
<input type="button" value="Previous" id="btnPrevious"/>
<span id="spanStage">Stage 5</span>
<input type="button" value="Next" id="btnNext"/>
</div>