将不同大小的文本与列表元素的底部对齐

时间:2012-11-29 11:08:33

标签: html css

给出以下标记:

<ul>
    <li><span>One</span></li>
    <li><span>Two</span></li>
    <li><span>Three</span></li>
    <li><span>Four</span></li>
    <li><span>Five</span></li>
</ul>

以下CSS:

body {
 font-family: Arial, sans-serif;
 font-size: 14px;
}

ul {
 list-style-type: none;
 padding: 0;
 margin: 0;   
}

li {
 border-bottom: 1px solid red;      
 float: left;
 margin-left: 10px;
 height: 70px; /* height of largest element */
}

span {
 font-weight: bold;
 display: block; /* important, needs to be block */
}

li:nth-child(2) {
 font-size: 2em;   
}

li:nth-child(3) {
 font-size: 3em;   
}

li:nth-child(4) {
 font-size: 4em;   
}

li:nth-child(5) {
 font-size: 5em;   
}

每个列表项包含不同大小的文本。

我想将每个<span>元素与其父<li>的底部对齐,以确保底部边框也对齐。

Here is the jsfiddle正在工作。

需要支持IE8&gt;向上。

注意:项目必须浮动

2 个答案:

答案 0 :(得分:6)

从li中删除float:left并添加display:inline; vertical-align:bottom;

li {
 border-bottom: 1px solid red;      
 display:inline;  vertical-align:bottom;  
 margin-left: 10px;
 height: 70px; /* height of largest element */
}

DEMO

答案 1 :(得分:2)

在li元素上使用display:table

span元素上的

display:table-cell;

另外,据我所知,最大的字体大小为84px高。

LIVE DEMO