3

我知道你可以通过设置单行来做到这一点line-height,但我的数据可能会占用多行。display:table我尝试为父母和孩子做一些设置display:table-cell,但我无法让它工作。

这是我的jsfiddle

4

3 回答 3

1

好吧,我玩了一下 jsFiddle,这就是我想出的:

http://jsfiddle.net/rVgkJ/7/

相关的CSS:

.small_wrapper_div{
    width:100%;
    display:table;
}

.small_wrapper_div > div{
    display:table-cell;
    vertical-align: middle; 
}

.small_picture_div{
    width:50px;
    height:50px;
}

.small_picture_div img {
    width:50px;
    display:block;
}

.small_text_div{
    padding-left:10px;
}
于 2013-03-01T04:24:31.580 回答
1

简而言之,您需要添加position: relative到包含的 div ( small_wrapper_div) 中,然后您可以添加:

.small_text_div a {
    display: table-cell; 
    vertical-align: middle; 
    text-align: left;    
}

并更改.small_text_div为以下组合:

.small_text_div {
    height:100%;
    padding-left:10px;
    width:250px;
    position: absolute;
    left:50px;
    top: 2px;  
    display: table; 
}

您将使文本垂直居中。

于 2013-03-01T04:29:57.047 回答
0

嗨使用表格,这样您就可以轻松地将其垂直对齐

html

<table>
    <tr>
        <td class="image"><img src = "http://www.startingtofeelit.com/wp-content/uploads/2013/02/Wild-Party.jpg"/></td>
        <td>Talib Kweli &#8211; Push Thru (DJ Friendship Remix)</td>
    </tr>
    <tr>
        <td class="image"><img src = "http://www.startingtofeelit.com/wp-content/uploads/2013/02/Wild-Party.jpg"/></td>
        <td>Talib Kweli &#8211; Push Thru (DJ Friendship Remix)</td>
    </tr>
    <tr>
        <td class="image"><img src = "http://www.startingtofeelit.com/wp-content/uploads/2013/02/Wild-Party.jpg"/></td>
        <td>Talib Kweli – Push Thru <br />(DJ Friendship Remix)</td>
    </tr>
</table>

css

table td.image img{
    width:50px;
    height:50px;
}

演示

于 2013-03-01T06:11:49.660 回答