2016-11-08 99 views
2

我有一个问题,垂直对齐3跨度内的一个div。这很容易实现,但是当我使用浮动时,垂直对齐不起作用。我希望浅蓝色的酒吧能够垂直居中。代码:跨度与浮动垂直对齐

.container { 
 
} 
 
.text-1 { 
 
    float: left; 
 
    padding-right: 10px; 
 
} 
 
.bar { 
 
    background-color: lightblue; 
 
    border-radius: 5px; 
 
    float: left; 
 
    height: 5px; 
 
    width: 150px; 
 
} 
 
.text-2 { 
 
    padding-left: 10px; 
 
}
<div class="container"> 
 
    <span class="text-1">Text 1</span> 
 
    <span class="bar">&nbsp;</span> 
 
    <span class="text-2">Text 2</span> 
 
</div>

非常感谢您的帮助。

JSFiddle

+0

那么,为什么你还在用'float'? – Itay

回答

4

您可以在<span>元素,而不是浮动使用与vertical-align: middle;一起display: inline-block;。这样,他们彼此相邻定位也是一样,你可以应用垂直对齐方式:

.container span { 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
} 
 
.text-1 { 
 
    padding-right: 10px; 
 
} 
 
.bar { 
 
    background-color: lightblue; 
 
    border-radius: 5px; 
 
    height: 5px; 
 
    width: 150px; 
 
} 
 
.text-2 { 
 
    padding-left: 10px; 
 
}
<div class="container"> 
 
    <span class="text-1">Text 1</span> 
 
    <span class="bar">&nbsp;</span> 
 
    <span class="text-2">Text 2</span> 
 
</div>