【发布时间】:2014-08-07 02:10:23
【问题描述】:
我在工具栏中有几个按钮。它们左右浮动,为中间文本提供 100% 的剩余宽度。文本可以是一两行...
我的问题是我需要将文本居中并垂直放置在中间。
标记
<div class="toolbar">
<div class="button left"> </div>
<div class="button left"> </div>
<div class="button left"> </div>
<div class="button right"> </div>
<div class="button right"> </div>
<span class="title">Start page title</span>
</div>
CSS
.left{
float: left;
}
.right{
float: right;
}
.toolbar{
height: 70px;
width: 500px;
border: 1px solid red;
}
.button{
width: 68px;
height: 68px;
border: 1px solid #fff;
background: #666666;
}
.title{
font-size: 12px;
line-height: 8px;
vertical-align: middle;
text-align: center;
}
我也有一个小提琴(单击灰色按钮以尝试使用双行文本): http://jsfiddle.net/U7LhL/6/
有什么想法吗?设置行高不起作用(除非使用 JS),因为文本的高度是未知的,我需要适合 2 行。如果可能的话,我认为使用绝对定位文本来实现这一点会变得非常混乱。
【问题讨论】:
-
float元素是不可能的,因为它们没有机会进行垂直对齐。对于旧版浏览器,您必须使用带有回退到table-cell显示的 flex 布局。 -
用于垂直对齐:line-height: 68px;关于标题类
-
你试过行高属性和垂直对齐到中间吗?
-
@NicolòMonili 如果文本是 2 行,那将不起作用......
标签: html css vertical-alignment centering text-align