我有图标。问题是它们不像其他所有东西(文本,输入)那样垂直对齐中间。我的HTML结构是这样的:垂直对齐图标
<div class="i_contain_things">
<div class="i_float_left"><checkbox/></div>some text
<div class="i_float_right">
<span class="sprite icn1">my sprite</span>
<span class="sprite icn2">my sprite</span>
</div>
</div>
.i_contain_things
{
clear:both;
margin-bottom:10px;
vertical-align:middle;
}
.i_float_left
{
padding:0 3px 0 3px;
float:left;
display:inline-block;
}
.i_float_right
{
padding:0 3px 0 3px;
float:right;
display:inline-block;
vertical-align:middle;
}
.sprite
{
display:inline-block;
background: url(../img/icn_sprite_1.png);
width: 16px;
height: 16px;
vertical-align: middle;
}
.icn1{background-position:0,0}
.icn2{background-position:0,16px}
我的精灵总是对准到了谷底,而复选框和文本是在中间。
有任何实际的标记测试?基本上我只是建议在图像中添加一些bot边距,或者使用行高CSS垂直对齐技术。 http://www.brunildo.org/test/va_lineheight.html – Loktar 2011-01-07 17:03:53
您可以使用常规的html语法吗?它会让看起来更容易。你也可以包括一些CSS? – JakeParis 2011-01-07 17:04:20
行高无效,我无法添加底部边距,因为高度是可变的。 – aepheus 2011-01-07 17:20:36