我有一个样式为水平显示的无序列表。其中一个 li 元素包含一个 div 元素。这个 div 元素是使用 ajax 填充的,尽管这无关紧要。
div 元素的高度比 li 元素的其余部分要大,默认情况下它与父容器的底部对齐。
更新:嗯,这不是很尴尬。我在 jsfiddle http://jsfiddle.net/Bfp3K/中编写了一个更简单的示例,它可以正常工作。我必须再次检查我的代码以获取沙箱中的错误。
更新2:毕竟不是那么容易。我已经添加了我提出的(和使用的)解决方案。
Update3:忽略之前的答案,这是不正确的。这是该问题的简化且可测试的示例:
JSFiddle:http: //jsfiddle.net/Bfp3K/10/
CSS:
#one {
background-color:red;
}
#two {
background-color:green;
}
#three {
background-color:yellow;
}
#four {
background-color:blue;
}
.normal {
height:100px;
width:200px;
display:inline-block;
}
.big {
height:200px;
width:300px;
display:inline-block;
}
ul {
display:block;
}
ul li{
display:inline;
}
HTML:
<ul>
<li><div id="one" class="normal">One</div></li>
<li><div id="two" class="normal">Two</div></li>
<li><div id="three" class="normal">Three</div></li>
<li><div id="four" class="big">
The last div vertically aligns to it's content's last line of text. I want to align the top of all the colored divs.
</div></li>
</ul>
图片:
解决方案应该是什么样 的: 问题是什么样的: