<ul>
<li class="more">aaa</li>
<li class="moretwo">aaa</li>
<li class="more">aaa</li>
</ul>
.more {
background-color: red;
height: 50px;
vertical-align:middle;
}
.moretwo {
background-color: green;
height: 50px;
vertical-align:sub;
}
为什么在此示例中,vertical align不起作用? 有可能吗?如果是,我该怎么做呢?
实时示例: http://jsfiddle.net/gQM68/与您的答案
答案 0 :(得分:8)
文本与其行高相对齐,因此要么通过增加行高,然后应用垂直对齐
或
使用padding-top
您可以查看此链接以供参考
或
答案 1 :(得分:6)
您可以将vertical-align
与display:table-cell
.more {
background-color: red;
height: 50px;
display:table-cell;
vertical-align:middle;
}
.moretwo {
background-color: green;
height: 50px;
display:table-cell;
vertical-align:sub;
}
答案 2 :(得分:0)
vertical-align
property仅适用于内联级和table-cell
元素。您可以使用span
元素中的li
元素并在vertical-align
上设置span
来解决此限制,例如
<li><span class="more">aaa</span></li>
答案 3 :(得分:0)
如果您使用span
包围文本并将其样式设置为如下所示,那么它应该有效:
<ul>
<li class="more"><span>aaa</span></li>
...
</ul>
li span {
display: inline-block;
vertical-align: middle;
}
.more {
...
}
.moretwo {
...
}